分享
[go语言]控制语句
sxt102400 · · 3207 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
1 if判断语句
语句格式如下:
if 初始化语句;条件 {
执行语句
}
例如
if x, y := 1, 1; x == y {
fmt.Println("true")
} else {
fmt.Println("false")
}
说明
1)if语句的条件没有括号(),"{"必须紧接条件在同一行。
2)if,switch语句中可包含一个初始化语句(也可以没有),通常用于设置局部变量值
2 for循环语句
1)for循环
for 初始化语句,判断条件,步长 {
执行语句
}
2)类似while的for循环
for 判断条件 {
执行语句
}
3)死循环
for{
执行语句
}
说明
1)go没有while和do...while语句
3 range循环
range是用来循环遍历string,数组,slice,map,channel的元素的迭代器。
1)对于string,数组,slice,range返回元素位置和元素值。
2)对于map,range返回元素的key值和value值。
3 switch分支语句
switch表达式值不需要是常量或整数
switch没有表达式自动匹配表达式为true
switch 表达式{
case 值: 执行语句
fallthrough
default: 执行语句
}
1)其他语言满足一个case条件,下面的case也会继续执行,除非使用break。
2)golang当满足一个case条件,下面的case不会继续执行,除非使用fallthrough。
4 break和continue
1)跳出循环
break跳出本层循环的所有次循环
continue跳出本层循环的本次循环
这个和其他语言基本上是一样的
2)跳出多重循环
break后面可以接标签,表示跳出多重循环
Here: for 条件{
for条件{
break Here
}
}
当没有加标签跳出的是里面的循环,加了Here标签后可以直接跳出最外层的循环。
5 goto跳转语句
跳转到当前函数内的标签,类似java的break
Here:
执行语句
go Here
语句格式如下:
if 初始化语句;条件 {
执行语句
}
例如
if x, y := 1, 1; x == y {
fmt.Println("true")
} else {
fmt.Println("false")
}
说明
1)if语句的条件没有括号(),"{"必须紧接条件在同一行。
2)if,switch语句中可包含一个初始化语句(也可以没有),通常用于设置局部变量值
2 for循环语句
1)for循环
for 初始化语句,判断条件,步长 {
执行语句
}
2)类似while的for循环
for 判断条件 {
执行语句
}
3)死循环
for{
执行语句
}
说明
1)go没有while和do...while语句
3 range循环
range是用来循环遍历string,数组,slice,map,channel的元素的迭代器。
1)对于string,数组,slice,range返回元素位置和元素值。
2)对于map,range返回元素的key值和value值。
3 switch分支语句
switch表达式值不需要是常量或整数
switch没有表达式自动匹配表达式为true
switch 表达式{
case 值: 执行语句
fallthrough
default: 执行语句
}
1)其他语言满足一个case条件,下面的case也会继续执行,除非使用break。
2)golang当满足一个case条件,下面的case不会继续执行,除非使用fallthrough。
4 break和continue
1)跳出循环
break跳出本层循环的所有次循环
continue跳出本层循环的本次循环
这个和其他语言基本上是一样的
2)跳出多重循环
break后面可以接标签,表示跳出多重循环
Here: for 条件{
for条件{
break Here
}
}
当没有加标签跳出的是里面的循环,加了Here标签后可以直接跳出最外层的循环。
5 goto跳转语句
跳转到当前函数内的标签,类似java的break
Here:
执行语句
go Here
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信3207 次点击
上一篇:go语言类型和接口
下一篇:go语言之各种加密算法的使用
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
语句格式如下:
if 初始化语句;条件 {
执行语句
}
例如
if x, y := 1, 1; x == y {
fmt.Println("true")
} else {
fmt.Println("false")
}
说明
1)if语句的条件没有括号(),"{"必须紧接条件在同一行。
2)if,switch语句中可包含一个初始化语句(也可以没有),通常用于设置局部变量值
2 for循环语句
1)for循环
for 初始化语句,判断条件,步长 {
执行语句
}
2)类似while的for循环
for 判断条件 {
执行语句
}
3)死循环
for{
执行语句
}
说明
1)go没有while和do...while语句
3 range循环
range是用来循环遍历string,数组,slice,map,channel的元素的迭代器。
1)对于string,数组,slice,range返回元素位置和元素值。
2)对于map,range返回元素的key值和value值。
3 switch分支语句
switch表达式值不需要是常量或整数
switch没有表达式自动匹配表达式为true
switch 表达式{
case 值: 执行语句
fallthrough
default: 执行语句
}
1)其他语言满足一个case条件,下面的case也会继续执行,除非使用break。
2)golang当满足一个case条件,下面的case不会继续执行,除非使用fallthrough。
4 break和continue
1)跳出循环
break跳出本层循环的所有次循环
continue跳出本层循环的本次循环
这个和其他语言基本上是一样的
2)跳出多重循环
break后面可以接标签,表示跳出多重循环
Here: for 条件{
for条件{
break Here
}
}
当没有加标签跳出的是里面的循环,加了Here标签后可以直接跳出最外层的循环。
5 goto跳转语句
跳转到当前函数内的标签,类似java的break
Here:
执行语句
go Here