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
有疑问加站长微信联系(非本文作者)