go语言学习-(流程控制语句:for、if、else、switch、defer)
for
Go只有一种循环结构: for循环
Go的for语句后面没有小括号()
大括号{}
是必须的
初始化语句和后置语句是可选的
1 | for a=0;a<10;a++{ |
if
if语句与for循环类似,表达式外无需小括号()
,而大括号{}
则是必须的。
if语句可以在表达式前执行一个简单的语句。
该语句申明的变量作用域仅在if之内
1 | if a<10 { |
switch
go自动提供了在这些语言中的每个case后面所需的break语句。
go的另一个重点的不同在于switch的case 无需为常量,且取值不必为整数。
1 | os := runtime.GOOS |
无条件的switch == switch true
1 | switch { |
defer
defer 语句会将函数推迟到外层函数返回之后执行
1 | package main |
defer 栈
推迟的函数调用会被压入一个栈中。当外层函数返回时,被推迟的函数会按照后进先出的顺序调用。
1 | package main |