大家好,我是Golang语言社区(www.Golang.LTD)主编彬哥,今天给大家带来的是关于go语言中的流程控制。
if 条件表达式 {
...
} else {
...
}
注意:
例子:
package main
import (
"fmt"
)
func init() {
fmt.Println("Golang语言社区 www.Golang.LTD")
if true {
fmt.Println("true")
} else {
fmt.Println("false")
}
return
}
func main() {
return
}
执行结果:
switch语句:
switch i { // 左花括号"{"必须与switch处于同一行
case 0:
fmt.Printf("0")
case 1:
fmt.Printf("0")
case 2:
fallthrough
case 3:
fmt.Printf("3")
case 4,5,6:
fmt.Printf("multi")
default:
fmt.Printf("default")
}
例子:
package main
import (
"fmt"
)
func init() {
fmt.Println("Golang语言社区 www.Golang.LTD")
test(2)
return
}
func main() {
return
}
func test(i int) {
switch i {
case 0:
fmt.Println("0")
case 1:
fmt.Println("1")
case 2:
fallthrough
case 3:
fmt.Println("3")
case 4, 5, 6:
fmt.Println("multi")
default:
fmt.Println("default")
}
}
执行结果:
注意:
Num := 8
switch {
case 0<= Num && Num <=3:
fmt.Println("0-3")
case 4<= Num && Num <=6:
fmt.Println("4-6")
case 7<= Num && Num <=9:
fmt.Println("7-9")
}
当缺失条件表达式时,整个switch结构与多个if...else...的逻辑作用相同。
Go语言的循环控制只支持for语句,不支持while结构。
for循环语句的循环表达式也不需要使用()括起来,例如:
sum := 0
for i:=0; i<10; i++ {
sum += i
}
for循环也支持continue和break语句,例如:
sum := 0
for {
sum ++
if sum>100 {
break
}
}
对于嵌套循环,break还可以选择中断哪个循环,例如:
var i int
var j int
JLoop:
for j=0; j<5; j++ {
for i=0; i<10; i++ {
if i>5 {
break JLoop
}
}
}
Go语言仍支持使用goto关键字在函数体内进行跳转,例如:
func foo() {
i := 0
HERE:
i++
if i<10 {
goto HERE
}
}
例子:
package main
import (
"fmt"
)
func init() {
fmt.Println("Golang语言社区 www.Golang.LTD")
test()
return
}
func main() {
return
}
func test() {
for i := 0; i < 10; i++ {
if i == 4 {
goto TaoZhuan
}
}
fmt.Println("为什么不执行我哪?")
TaoZhuan:
fmt.Println("跳转执行函数")
}
执行结果:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。