1.if条件
if 表达式 {
//语句
}
2.if-else条件
if 表达式 {
//语句1
} else {
//语句2
}
3.if-else-if条件
if 表达式1 {
//语句1
} else if 表达式2 {
//语句2
} else {
//语句3
}
4.switch条件
switch
语句用于将 switchExpression
按从上往下的顺序与 caseExpression
逐个进行匹配测试,直到 switch
语句结束 或 遇到第一个匹配成功的 caseExpression
并执行此 caseExpression
后的语句。
default
语句非必须有。如果有 default
语句,当 switchExpression
匹配不到任何一个 caseExpression
时,default
语句会被执行,否则不会被执行。一个 switch
语句只能有一个 default
语句。
注意:匹配测试使用的是相等 ==
运算符。
注意:caseExpression
后的语句有隐式的 break
语句。
switch switchExpression {
case caseExpression1:
//语句1
case caseExpression2:
//语句2
case caseExpressionN:
//语句N
default:
//语句
}
5.for循环
for
语句的运行顺序为:第一步先计算 条件表达式
,如果 条件表达式
为 true
,则运行后面的 块语句
,然后运行 每次迭代后表达式
,依次类推,直至 条件表达式
为 false
。
for 初始表达式; 条件表达式; 每次迭代后表达式 {
//语句
}
//类似于其它编程语言的while语句
for 条件表达式 {
//语句
}
6.for-range循环
for-range
语句用于迭代任何可迭代数据(比如整数、字符串、数组、切片、映射等)中的元素。
for 变量名 := range 可迭代数据 {
//语句
}
for 键, 值 := range 可迭代数据 {
//语句
}
7.label跳转
label
语句用于给任何语句加 label
。
label
可以是 Go 语言支持的任何标识符。
label
语句一般与 goto
、break
、continue
语句搭配使用。
label: 语句
8.goto跳转
goto
语句用于跳转到 label
语句。
goto label
9.break跳转
一旦遇到 break
语句,则立即跳出(break out of)最近的 switch
语句 或 循环语句,并从最近的 switch
语句 或 循环语句外继续向下执行。
break
一旦遇到 break label
语句,则立即跳出(break out of) label
语句,并从 label
语句外继续向下执行。
break label
10.continue跳转
一旦遇到 continue
语句,则立即终止最近的循环语句的本次迭代,继续(continue)最近的循环语句的下一次迭代,并不会完全终止最近的循环语句。
continue
一旦遇到 continue label
语句,则立即终止带 label
的循环语句的本次迭代,继续(continue)带 label
的循环语句的下一次迭代,并不会完全终止带 label
的循环语句。
continue label
11.return跳转
一旦遇到 return
语句,包含 return
关键字的函数就会立即停止执行,并将 return
关键字后的表达式的值返回给包含 return
关键字的函数的调用者。
注意:return
关键字只可以被使用在函数体内。
return
return 表达式
return 表达式1, 表达式2, 表达式N
如果一个函数定义没有返回类型,则此函数的函数体内不应该有 return
语句 或者 return
关键字后没有表达式。
func f1() {
}
func f2() {
return
}
func main() {
fmt.Println(f1()) // 报错
fmt.Println(f2()) // 报错
}
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/go/golang/36912.html