Go语言基础:流程
代码胜过千言万语
作为一个有代码基础的人,看懂这些应该不难
if 语句
示例代码如下:
package main
import "fmt"
func main(){
a := 10
if a < 20 {
fmt.Println("a 小于 20")
}
fmt.Printf("a 的值为:%d\n",a)
}
// 输出结果为:
>>> a 小于 20
>>> a 的值为:10
if...else 语句
示例代码如下:
package main
import "fmt"
func main(){
a := 30
if a < 20 {
fmt.Println("a 小于 20")
} else {
fmt.Println("a 大于 20")
}
fmt.Printf("a 的值为:%d\n",a)
}
// 输出结果为:
>>> a 大于 20
>>> a 的值为:30
if 嵌套语句
示例代码如下:
package main
import "fmt"
func main() {
a := 100
b := 200
if a == 100 {
if b == 200 {
fmt.Printf("a 的值为 100 , b 的值为 200\n" );
}
}
fmt.Printf("a 值为 : %d\n", a );
fmt.Printf("b 值为 : %d\n", b );
}
// 输出结果为:
>>> a 的值为 100 , b 的值为 200
>>> a 值为 : 100
>>> b 值为 : 200
switch 语句
示例代码如下:
package main
import "fmt"
func main(){
num := 10
switch var1 {
case 10:
fmt.Println("10")
fallthrough
case 12:
fmt.Println("12")
default:
fmt.Println("我是default")
}
}
// 输出结果为:
>>> 10
>>> 12
fallthrough 穿透
使用 fallthrough 会强制执行后面的 case 语句
select 语句
select 是 Go 中的一个控制结构,类似于 switch 语句。
select 语句只能用于通道操作,每个 case 必须是一个通道操作,要么是发送要么是接收。
select 语句会监听所有指定的通道上的操作,一旦其中一个通道准备好就会执行相应的代码块。
如果多个通道都准备好,那么 select 语句会随机选择一个通道执行。如果所有通道都没有准备好,那么执行 default 块中的代码。
package main
import "fmt"
func main(){
select {
case <- channel1:
// 执行的代码
case value := <- channel2:
// 执行的代码
case channel3 <- value:
// 执行的代码
// 你可以定义任意数量的 case
default:
// 所有通道都没有准备好,执行的代码
}
}
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Coke(cokeserver@qq.com)
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果