流程控制 for switch range break goto
func forCase() {for i := 0; i < 10; i++ {
if i == 5 {
continue
}
fmt.Println("位置1执行 for 语句块 i:", i)
}
fmt.Println("-------循环 slice ------")
list := []int{1, 2, 3, 4, 5}
for index, value := range list {
fmt.Println("循环切片执行 for 语句块 index:", index, "value:", value)
}
fmt.Println("-------循环 map ------")
mp := mapstring{"name": "tom", "age": "18"}
for k, v := range mp {
fmt.Println("循环map执行 for 语句块 k:", k, "v:", v)
}
fmt.Println("-------循环 string ------")
str := "你们是八九点钟的太阳"
for index, value := range str {
fmt.Println("循环string执行 for 语句块 index:", index, "value:", value, "value:", string(value))
}
fmt.Println("------- 死循环------")
var j int
for {
fmt.Println("死循环 执行 for 语句块:", j)
j++
if j >= 10 {
break
}
}
fmt.Println("-------- 循环嵌套循环------ ")
for i := 0; i < 2; i++ {
for j := 0; j < 2; j++ {
fmt.Println("循环嵌套循环 i:", i, "j:", j)
}
}
fmt.Println("-------- 循环嵌套循环 break 只能跳出当前循环---- ")
for i := 0; i < 2; i++ {
for j := 0; j < 2; j++ {
fmt.Println("循环嵌套循环 i:", i, "j:", j)
break
}
}
fmt.Println("-------- 循环嵌套循环 break 跳出lab---- ")
lab1:
for i := 0; i < 2; i++ {
for j := 0; j < 2; j++ {
fmt.Println("循环嵌套循环 i:", i, "j:", j)
break lab1
}
}
}a is zero
a is one
a is not zero
位置1执行 for 语句块 i: 0
位置1执行 for 语句块 i: 1
位置1执行 for 语句块 i: 2
位置1执行 for 语句块 i: 3
位置1执行 for 语句块 i: 4
位置1执行 for 语句块 i: 6
位置1执行 for 语句块 i: 7
位置1执行 for 语句块 i: 8
位置1执行 for 语句块 i: 9
-------循环 slice ------
循环切片执行 for 语句块 index: 0 value: 1
循环切片执行 for 语句块 index: 1 value: 2
循环切片执行 for 语句块 index: 2 value: 3
循环切片执行 for 语句块 index: 3 value: 4
循环切片执行 for 语句块 index: 4 value: 5
-------循环 map ------
循环map执行 for 语句块 k: name v: tom
循环map执行 for 语句块 k: age v: 18
-------循环 string ------
循环string执行 for 语句块 index: 0 value: 20320 value: 你
循环string执行 for 语句块 index: 3 value: 20204 value: 们
循环string执行 for 语句块 index: 6 value: 26159 value: 是
循环string执行 for 语句块 index: 9 value: 20843 value: 八
循环string执行 for 语句块 index: 12 value: 20061 value: 九
循环string执行 for 语句块 index: 15 value: 28857 value: 点
循环string执行 for 语句块 index: 18 value: 38047 value: 钟
循环string执行 for 语句块 index: 21 value: 30340 value: 的
循环string执行 for 语句块 index: 24 value: 22826 value: 太
循环string执行 for 语句块 index: 27 value: 38451 value: 阳
------- 死循环------
死循环 执行 for 语句块: 0
死循环 执行 for 语句块: 1
死循环 执行 for 语句块: 2
死循环 执行 for 语句块: 3
死循环 执行 for 语句块: 4
死循环 执行 for 语句块: 5
死循环 执行 for 语句块: 6
死循环 执行 for 语句块: 7
死循环 执行 for 语句块: 8
死循环 执行 for 语句块: 9
-------- 循环嵌套循环------
循环嵌套循环 i: 0 j: 0
循环嵌套循环 i: 0 j: 1
循环嵌套循环 i: 1 j: 0
循环嵌套循环 i: 1 j: 1
-------- 循环嵌套循环 break 只能跳出当前循环----
循环嵌套循环 i: 0 j: 0
循环嵌套循环 i: 1 j: 0
-------- 循环嵌套循环 break 跳出lab----
循环嵌套循环 i: 0 j: 0switchCase("a", "b")
func switchCase(alpha string, in interface{}) {
switch alpha {
case "a":
fmt.Println("a")
case "b":
fmt.Println("b")
case "c", "d":
fmt.Println("c")
fmt.Println("d")
fallthrough
case "e":
fmt.Println("e")
default:
fmt.Println("default")
}
switch in.(type) {
case string:
fmt.Println("string")
default:
fmt.Println("default")
}
}-------- switch case----
a
stringfunc gotoCase() {
var a = 0
lab1:
fmt.Println("--------goto case------")
for i := 0; i < 10; i++ {
a += i
if a == 5 {
goto lab1
}
fmt.Println("----------a:", a, "i:", i)
}
}--------goto case------
----------a: 0 i: 0
----------a: 1 i: 1
----------a: 3 i: 2
----------a: 6 i: 3
----------a: 10 i: 4
----------a: 15 i: 5
----------a: 21 i: 6
----------a: 28 i: 7
----------a: 36 i: 8
----------a: 45 i: 9
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! 感谢,下载保存了
页:
[1]