Go语言中的流程控制语句

news/2025/2/14 7:30:47/

目录

流程控制语句

if语句

if···else语句

switch语句

for循环

break语句

continue语句

goto语句


流程控制语句

if语句

在Go语言中,可以在if后面加上一段执行语句,执行语句也可以用作对if条件的判断。它的语法格式为:

if a := condition(); a == nil {//代码块
}

a赋值为condition()方法的结果,然后让a与nil进行判断,如果为true,那么会执行代码块中的代码,否则不执行,而且a的作用域只会在这条语句的范围内。

if···else语句

如果存在第二个分支,则可以在上面代码的基础上添加else语句以及另一个代码块。这个代码块中的代码只有在条件不满足时才会执行。if和else中的两个代码块是相互独立的分支,两者只可以执行其中的一个。语法格式为:

if condition {//代码块
} else {//代码块
}

switch语句

switch语句是用来进行多分支选择的语句,且Go语言的switch语句要比其他语言的更加通用,表达式的值不必为常量,甚至可以不为整数。它的语法格式为:

switch expression {case value1://代码块case value2://代码块default://代码块
}

expression是一个表达式,value1、value2等是可能的取值,如果expression等于其中某个值,那么会执行相应的代码块,如果都不匹配,则执行default代码块。

在Go语言中,case和case之间都是独立的代码块,默认每个case后自带一个break,不需要用户自己编写。如果不需要每个case执行后自动截止,可以使用fallthrough来强制执行没有执行过的case代码。

d := 2
switch d {case 1:fmt.Print("星期一")case 2:fmt.Print("星期二")fallthroughcase 3:fmt.Print("星期三")default://代码块
}

输出的结果为 星期二星期三

for循环

for语句是用来进行循环的语句,它的语法格式:

for initialization; condition; post {//代码块
}

initialization是一个初始化语句,condition是一个循环条件,post是每次循环结束后要执行的语句。当condition为true时,会执行代码块中的代码,然后执行post语句,然后再次判断condition是否为true,以此类推,直到condition为false。

无限循环:

for {//代码块
}

如果表达式2省略,那么这就是一个无限循环,会一直执行代码块中的代码,除非使用break语句跳出循环。

break语句

Go语言中的break语句可以跳出循环或者switch的代码块,也可以在break后添加标签,用来退出某个标签指定的代码块。它的语法格式为:

for condition {//代码块if condition2 {break}
}

当满足condition2时,会跳出循环。

continue语句

continue语句用于跳过当前循环,进入下一次循环,且可以在for循环内使用,它的语法格式为:

for condition {//代码块if condition2 {continue}
}

当满足condition2时,会跳过当前循环,进入下一次循环。

goto语句

在Go语言中,可以通过goto来跳转标签,进行代码之间的跳转。它的语法格式为:

label:
//代码块
goto label

其中label是一个标识符,可以是任意字符串。当执行goto语句时,会跳转到指定标签处执行代码。注意,使用goto语句容易导致代码的可读性和可维护性变差,应该尽量避免使用。


http://www.ppmy.cn/news/62005.html

相关文章

随笔-听说你年入百万了

两个月前接到老代的电话,说4月30号结婚,预约一下时间。半个月前接到小付的电话,说5月1号结婚,行吧,值当回趟老家了。 抢票还算顺利,转了一趟车,29号下午到了老家,想着收拾一下&…

体验 gpt4free

体验 gpt4free 什么是 gpt4free效果演示安装 ffmpeg启动 gpt4free访问 gpt4free gui其他 什么是 gpt4free GPT4Free 是一个由 xtekky 创建的基于 OpenAI GPT-4 和 GPT-3.5 的 API。它可以向用户提供类似于 OpenAI GPT-3 的功能,如文本生成、问答、翻译等。 GPT4Fre…

【电源专题】案例:拆一个早期用的万能充看看内部状况

说到万能充,可能存在80/90后的记忆里。以前手机都可以更换电池的,所有往往都是买两块,一块在手机内部使用,另一块在万能充充电。 万能充的外观也是大同小异的,从网上找了一些图片: 这东西现在日常生活已经都看不到了,关键因素之一应该是现在的手机电池都是不可拆…

前端学习笔记:CSS中浮动的原理,定位

这是本人学习的总结,主要学习资料如下 马士兵教育 目录 1、float1.1、float设计的初衷1.2、浮动的原理,类似两个图层1.3、浮动的原理,两个图层的特殊性1.4、消除浮动的影响 2、定位2.1、相对定位(relative)2.2、绝对定…

SQL Server实现group_concat功能

mysql group_concat函数 一、group_concat函数的功能   将group by产生的同一个分组中的值连接起来,返回一个字符串结果。 group_concat函数首先根据group by指定的列进行分组,将同一组的列显示出来,并且用分隔符分隔。由函数参数&#xf…

lombok常用的注解及使用方法

lombok是⼀种简化源码提⾼编程效率的⼯具&#xff0c;⽤于⽣成常⽤的代码。 如何使用lombok 引⼊依赖 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</ver…

gorm记一次“mysql写入 Error 1366 (HY000): Incorrect string value”错误

记一次“mysql写入 Error 1366 (HY000): Incorrect string value”错误 环境gogormdockermysql 写入数据库的内容为中文时提示Error 1366 (HY000): Incorrect string value: \xE6\x9D\x8E\xE7\x99\xBD for column nickName at row 1&#xff0c;原因是创建表时没有指定字符集…

word@论文后期优化和完善工作@页眉页脚页码@配置并导出pdf

文章目录 论文结构例 目录操作页眉页脚页眉样式检查所有页面的页眉添加横线 页码从第二页(封面后的一页)开始用罗马数字标页码 word导出pdf等其他格式额外配置带独立书签和目录打印pdf 最后的优化 论文结构 一篇规范的论文应该大致包括以下部分&#xff1a; 标题页&#xff1…