1、switch细节
var num int = 10
switch num {
case 10:
fmt.Println("ok1")
fallthrough // 默认只穿透一层
case 20:
fmt.Println("ok2")
default:
fmt.Println("没匹配到~~~~")
}
- type-switch 来判断某个interface变量中实际指向的变量类型
var x interface{}
var y = 10.0
x = y
switch i := x.(type) {
case nil:
fmt.Printf(" x的类型是:%T", i)
case int:
fmt.Printf(" x的类型int)
...
}
2、for循环
遍历字符串是按字节遍历
var str string = "hellow,world"
for i := 1; i < len(str); i++ {
fmt.Println("%c", str[i])
}
for-range 遍历字符串是按字符遍历,解决中文遍历问题
for index, val := range str {
fmt.Println("index=%d,val=%c", index, val)
}
lable2:
for i := 0; i < 4; i++ {
lable1:
for j := 0; j < 10; j++ {
if j == 2 {
break lable2 // 直接跳出lable2 的循环
}
}
}
lable2:
for i := 0; i < 4; i++ {
lable1:
for j := 0; j < 10; j++ {
if j == 2 {
continue lable2 // 跳到lable2 接着循环
}
}
}