程序运行结构
Go 语言支持最基本的三种程序运行结构:顺序结构、选结构、环结构。
- 顺序结构:程序按顺序执行,不发生跳转。
- 选择结构:依据是否满足条件,有选择的执行相应功能
- 循环结构:依据条件是否满足,环多次执行某段代码。
选择
if
s := "yes"
if s == "yes" {
fmt.Println("YES")
} else {
fmt.Println("NO")
}
{
必须和if在同一行- if支持一个初始化语句,初始化语句和判断条件以分号分隔
if a := 10; a == 10 {
fmt.Println("a==10")
}
if elseif else
switch
package main
import "fmt"
func main() {
num := 1
switch num {
case 1:
fmt.Println("按下的是1楼")
break
case 2:
fmt.Println("按下的是2楼")
break
case 3:
fmt.Println("按下的是3楼")
break
default:
fmt.Println("按下的是xxx楼")
break
}
}
-
go语言保留了break关键字,跳出switch语言,但是如果不写,默认就包含了break
-
Go 可以使用 fallthrough 强制执行后面的 case 代码,无条件执行后面的语句
-
支持一个初始化语句,初始化语句和变量本身,以分号分隔
-
go语言中的Switch后面,可以没有条件
循环
for
go语言中,只有for,没有while,do等
- 语法
for 初始化条件;判断条件;条件变化{
}
range
关键字 range 会返回两个值,第一个返回值是元素的数组下标,第二个返回值是元素的值:
- 也可以丢弃一些数
跳转语句
break
跳出循环,如果嵌套多个循环,跳出最近的那个内循环
break可用于for、switch、select,而continue 仅能用于 for循环。
continue
跳过本次循环,下一次继续
goto
用 goto 可以用在任何地方,但是foto跳转到必须在当前函数内定义的标签
* 要定义标签,就必须要有地方使用