在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
if else 结构: #第一种 if condition { // do something } #第二种 if condition { // do something } else { // do something } #第三种 if condition1 { // do something } else if condition2 { // do something else }else { // catch-all or default } if val := 10; val > max { switch 结构 #第一种 switch var1 { case val1: ... case val2: ... default: ... } #第二种 switch { case i < 0: f1() case i == 0: f2() case i > 0: f3() } #第三种 switch result := calculate(); { case result < 0: ... case result > 0: ... default: // 0 } for 循环 #第一种 for i:=0; i<5; i++ { for j:=0; j<10; j++ { println(j) } } #第二种 for a < b { a++ fmt.Printf("a 的值为: %d\n", a) } # 类似其他语言for和while for range 结构 这是 Go 特有的一种的迭代结构,您会发现它在许多情况下都非常有用。它可以迭代任何一个集合(包括数组和 map,详见第 7 和 8 章)。语法上很类似其它语言中 foreach 语句,但您依旧可以获得每次迭代所对应的索引。一般形式为: for ix, val := range coll { } 。要注意的是, val 始终为集合中对应索引的值拷贝,因此它一般只具有只读性质,对它所做的任何修改都不会影响到集合中原有的值(译者注:如果 val 为指针,则会产生指针的拷贝,依旧可以修改集合中的原值) func main() { s :="hello world" for in,va := range s{ fmt.Print(in,va,"\n") } } #va 索引值的拷贝 0 104 1 101 2 108 3 108 4 111 5 32 6 119 7 111 8 114 9 108 10 100 关键字fallthrough 在switch语句中,如果一个case语句后面加了fallthrough那么会直接执行下一个case里面的内容 func main() { switch Num:=1;{ case 0 <= Num && Num <= 3: fmt.Printf("0-3") fallthrough case 4 <= Num && Num <= 6: fmt.Printf("4-6") case 7 <= Num && Num <= 9: fmt.Printf("7-9") } } 0-34-6
|
请发表评论