Golang基础知识-03-流程控制

条件 - if

基本语法

if a > b { // 条件表达式的圆括号可省略,写上也没错

} else if a > c {

} else {

}

定义局部变量

func main() {
	x := 32
	if i := 16; x > i { // 可以定义代码块局部变量
		println(i)
	}
	println(i) // 报错: undefined: i
}

经测试,截止到go1.13.5尚不支持三元操作符x > y ? x : y

分支 - switch

基本语法

switch i {
case 1:
	print("A") // 省略break,写上也没错
case 2:
	print("B")
	fallthrough // 继续执行下一分支
case 3:
	print("C")
	fallthrough // fallthrough 后不能跟break,否则会报错:fallthrough statement out of place
	break
case 4:
	print("D")
	break
	fallthrough // 不报错,但也没有意义
case 5, 6: // 多条件匹配
	print("E or F")
default:
	print("X")
}

循环 - for

基本语法

for i := 0; i < 10; i++ {
	print(i)
}
// 变形 I
i := 0
for ; i < 10; i++ { // 第一个分号不能省,否则报语法错误
	print(i)
}
// 变形 II
for i := 0; ; i++ { // 第二个分号不能省,否则报语法错误
	if i >= 10 {
		break
	}
	print(i)
}
// 变形 III
for i := 0; i < 10; { // 第二个分号不能省,否则报语法错误
	print(i)
	i++
}

while用法

var i int = 0
for i < 10 {
	print(i)
	i++
}

迭代 - range

基本语法

for k, v := range s { // 注意:这里是 `:=`
	println(k, v)
}
for k := range s { // 只取键
	println(k)
}
for _, v := range s { // 只取值
	println( v)
}
for range s { // 仅迭代,暂时还不明白有什么作用
	
}
发布了8 篇原创文章 · 获赞 0 · 访问量 51

猜你喜欢

转载自blog.csdn.net/Landercy/article/details/104100578