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 接着循環
}
}
}