首页 > 其他分享 >Go语言中的break语句

Go语言中的break语句

时间:2023-08-15 23:56:47浏览次数:27  
标签:语句 case fmt break Go main

在 Go 语言中,break 语句用于立即退出当前控制结构,如 for 循环、switchselect 语句。以下是 break 语句的使用方法和示例:

1. 基本用法

在此示例中,当遇到值 3 时,break 将中断循环。

package main

import "fmt"

func main() {
    for i := 0; i < 5; i++ {
        if i == 3 {
            break
        }
        fmt.Println(i)
    }
}

输出:

0
1
2

2. 在 switch 语句中使用

尽管在 Go 的 switch 语句中,每个 case 后默认不会“穿透”到下一个 case(不同于某些其他语言),但 break 仍然可以用于提前退出 switch

package main

import "fmt"

func main() {
    x := 2
    switch x {
    case 1:
        fmt.Println("One")
    case 2:
        fmt.Println("Start Two")
        break
        fmt.Println("End Two") // 这行不会被执行
    case 3:
        fmt.Println("Three")
    }
}

输出:

Start Two

3. 与标签配合使用

在嵌套循环中,break 可以与标签配合使用,以指定要中断哪个循环。

package main

import "fmt"

func main() {
    OuterLoop:
    for i := 0; i < 3; i++ {
        for j := 0; j < 3; j++ {
            if i == 1 {
                break OuterLoop
            }
            fmt.Printf("i = %d, j = %d\n", i, j)
        }
    }
}

输出:

i = 0, j = 0
i = 0, j = 1
i = 0, j = 2

注意:当 i 为 1 时,由于 break OuterLoop,整个外部循环都被中断,而不仅仅是内部循环。

总的来说,break 语句在 Go 中是一个非常有用的控制流工具,特别是当你想在满足某些条件时提前退出循环或其他控制结构时。

标签:语句,case,fmt,break,Go,main
From: https://www.cnblogs.com/tangjicheng/p/17632769.html

相关文章

  • 深入探索Go语言的垃圾回收机制
    引言:在当今的计算机世界中,垃圾回收机制已成为许多编程语言的重要组成部分,它有效地解决了内存泄漏等问题,提高了程序的安全性和可靠性。Go语言作为一门高效且强大的编程语言,其独特的垃圾回收机制吸引了众多开发者的关注。本文将深入探讨Go语言中垃圾回收机制的原理、优点及实现方式。......
  • 初识Go(Golang)语言(2)
    初识Go(Golang)语言(2)Go开发工具的使用1.vscode使用直接下载vscode(免费软件),在内部下载golang语言插件,即可使用。2.JetBrains全家桶之(Goland[IDE]),永久免费"试用"。下方仅供参考,过期了就过期了。一般所有去哪佳通都可以使用。(个人推荐第二种) (1.)https://www.only4.work/blog/?id......
  • 高级有深度的英语句子
    高级有深度的句子(永远保持自我和自尊)所谓人生的归位,就是把外在东西变成你内心的力量。Lifeisadreamofalittlelessinconstant.人生是一场稍稍不那么无常的梦而已。Lifeisacontinuouscourseofdeathandrevival.生命是连续不断的死亡与复活。Ifl......
  • 简述C# 9.0增加的顶级语句--不使用 Main 方法的程序
    1.简述:    我们都知道,C#作为大型协作工业级编程语言,在编写简单应用的时候可能产生的入口代码比实际的需求代码还多的尴尬现象,这些入口代码在老袁的眼中显得非常碍眼。有没有像其它编程语言特别是脚本语言能快速编写简单可用的程序的可能呢?答案当然是有的,C#9.0增加了顶级......
  • 【数据库原理 | MySQL】一文打通 DDL语句
    ......
  • go语言编程常见问题
    在Goland中运行单元测试报错Error:Cannotfindpackage如下图,在Goland中运行单元测试时报错:“Error:Cannotfindpackage”弹出如下报错提示窗口:解决办法:在Goland设置界面中取消勾选“EnableGomodulesintegration”。参考:goland中运行go时报packagexxxisnotinGO......
  • 学习go语言编程之网络编程
    Socket编程Golang语言标准库对Socket编程进行了抽象,无论使用什么协议建立什么形式的连接,都只需要调用net.Dial()即可。Dial()函数Dial()函数的原型如下:funcDial(network,addressstring)(Conn,error)参数含义如下:network:网络协议名字,如:tcp,udp等Dial()函数支持的网络......
  • 学习go语言编程之工程管理
    Go命令行工具安装了Go语言的安装包后,就直接自带Go命令行工具。#查看当前安装的Golang版本goversion#查看go命令行工具的帮助信息gohelpGo命令行工具可以完成如下工作:代码格式化代码质量分析和修复单元测试与性能测试工程构建代码文档的提取和展示依赖包管理执......
  • 学习go语言编程之安全编程
    数据加密对称加密采用单密钥的加密算法,称为对称加密。常见的单密钥加密算法有DES、AES、RC4等。在对称加密中,私钥不能暴露,否则在算法公开的情况下,数据等同于明文。非对称加密采用双密钥的加密算法,称为非对称加密。在该系统中,私钥和公钥都可以被用作加密或者解密,但是用私钥......
  • 学习go语言编程之标准库
    标准库包分类Golang标准库可以大致按其中库的功能进行以下分类:分类对应包描述输入输出bufio,fmt,io,log,flag这个分类包括二进制以及文本格式在屏幕、键盘、文件以及其他设备上的输入输出等,比如二进制文件的读写。文本处理encoding,bytes,strings,strconv,text,mime,unico......