本篇只有两个角色 for
和 switch
一、for 与其他语言相比,存在一些轻微的差异
布尔值或布尔表达式位置,不再需要 括号
使用 for 来实现 while 循环
func TestIfCondition(t *testing.T){
n:=0
for n<5{
fmt.Println(n)
n++
}
}
而其余的用法就是和以前我们使用的语言差不多了,这里就不再赘述了。
接下来看看switch
二、switch 在 go 中变得更加简易 高效
在 go 中 switch 有这么几个特点
不再需要使用 break 去连接 case
switch 判断条件不再限定与 int 枚举等类型
switch 还可以实现多个if else模式的判断,节省大量的if else编写
我们来看一下例子
第一个简单的例子:
package condition_test
import(
"fmt"
"testing"
)
func TestSwitchCondition(t *testing.T){
i:=0
n:=[...]int{1,2,3,4,5}
for ;i<len(n);i++{
switch n[i]{
case 1,2,3:
fmt.Println('小不点')
default:
fmt.Println('长大了')
}
}
}
来看一下执行结果
再来看稍微升级一版的
package condition_test
import(
"fmt"
"testing"
)
func TestSwitchCondition(t *testing.T){
n:=[...]int{1,2,3,4,5}
for i:=0;i<len(n);i++{
switch {
case n[i]%2==0:fmt.Println("you are good")
case n[i]%2==1:fmt.Println("you are bad")
}
}
}
我们来看一下实际使用