找回密码
 立即注册
首页 业界区 业界 流程控制 for switch range break goto

流程控制 for switch range break goto

姚望舒 2025-10-1 17:59:35
  1. func forCase() {
  2.         for i := 0; i < 10; i++ {
  3.                 if i == 5 {
  4.                         continue
  5.                 }
  6.                 fmt.Println("位置1  执行 for 语句块 i:", i)
  7.         }
  8.         fmt.Println("-------循环 slice ------")
  9.         list := []int{1, 2, 3, 4, 5}
  10.         for index, value := range list {
  11.                 fmt.Println("循环切片  执行 for 语句块 index:", index, "value:", value)
  12.         }
  13.         fmt.Println("-------循环 map ------")
  14.         mp := map[string]string{"name": "tom", "age": "18"}
  15.         for k, v := range mp {
  16.                 fmt.Println("循环map  执行 for 语句块 k:", k, "v:", v)
  17.         }
  18.         fmt.Println("-------循环 string ------")
  19.         str := "你们是八九点钟的太阳"
  20.         for index, value := range str {
  21.                 fmt.Println("循环string  执行 for 语句块 index:", index, "value:", value, "value:", string(value))
  22.         }
  23.         fmt.Println("------- 死循环  ------")
  24.         var j int
  25.         for {
  26.                 fmt.Println("死循环 执行 for 语句块:", j)
  27.                 j++
  28.                 if j >= 10 {
  29.                         break
  30.                 }
  31.         }
  32.         fmt.Println("-------- 循环嵌套循环------ ")
  33.         for i := 0; i < 2; i++ {
  34.                 for j := 0; j < 2; j++ {
  35.                         fmt.Println("循环嵌套循环 i:", i, "j:", j)
  36.                 }
  37.         }
  38.         fmt.Println("-------- 循环嵌套循环 break 只能跳出当前循环---- ")
  39.         for i := 0; i < 2; i++ {
  40.                 for j := 0; j < 2; j++ {
  41.                         fmt.Println("循环嵌套循环 i:", i, "j:", j)
  42.                         break
  43.                 }
  44.         }
  45.         fmt.Println("-------- 循环嵌套循环 break 跳出lab---- ")
  46. lab1:
  47.         for i := 0; i < 2; i++ {
  48.                 for j := 0; j < 2; j++ {
  49.                         fmt.Println("循环嵌套循环 i:", i, "j:", j)
  50.                         break lab1
  51.                 }
  52.         }
  53. }
复制代码
  1. a is zero
  2. a is one
  3. a is not zero
  4. 位置1  执行 for 语句块 i: 0
  5. 位置1  执行 for 语句块 i: 1
  6. 位置1  执行 for 语句块 i: 2
  7. 位置1  执行 for 语句块 i: 3
  8. 位置1  执行 for 语句块 i: 4
  9. 位置1  执行 for 语句块 i: 6
  10. 位置1  执行 for 语句块 i: 7
  11. 位置1  执行 for 语句块 i: 8
  12. 位置1  执行 for 语句块 i: 9
  13. -------循环 slice ------
  14. 循环切片  执行 for 语句块 index: 0 value: 1
  15. 循环切片  执行 for 语句块 index: 1 value: 2
  16. 循环切片  执行 for 语句块 index: 2 value: 3
  17. 循环切片  执行 for 语句块 index: 3 value: 4
  18. 循环切片  执行 for 语句块 index: 4 value: 5
  19. -------循环 map ------
  20. 循环map  执行 for 语句块 k: name v: tom
  21. 循环map  执行 for 语句块 k: age v: 18
  22. -------循环 string ------
  23. 循环string  执行 for 语句块 index: 0 value: 20320 value: 你
  24. 循环string  执行 for 语句块 index: 3 value: 20204 value: 们
  25. 循环string  执行 for 语句块 index: 6 value: 26159 value: 是
  26. 循环string  执行 for 语句块 index: 9 value: 20843 value: 八
  27. 循环string  执行 for 语句块 index: 12 value: 20061 value: 九
  28. 循环string  执行 for 语句块 index: 15 value: 28857 value: 点
  29. 循环string  执行 for 语句块 index: 18 value: 38047 value: 钟
  30. 循环string  执行 for 语句块 index: 21 value: 30340 value: 的
  31. 循环string  执行 for 语句块 index: 24 value: 22826 value: 太
  32. 循环string  执行 for 语句块 index: 27 value: 38451 value: 阳
  33. ------- 死循环  ------
  34. 死循环 执行 for 语句块: 0
  35. 死循环 执行 for 语句块: 1
  36. 死循环 执行 for 语句块: 2
  37. 死循环 执行 for 语句块: 3
  38. 死循环 执行 for 语句块: 4
  39. 死循环 执行 for 语句块: 5
  40. 死循环 执行 for 语句块: 6
  41. 死循环 执行 for 语句块: 7
  42. 死循环 执行 for 语句块: 8
  43. 死循环 执行 for 语句块: 9
  44. -------- 循环嵌套循环------
  45. 循环嵌套循环 i: 0 j: 0
  46. 循环嵌套循环 i: 0 j: 1
  47. 循环嵌套循环 i: 1 j: 0
  48. 循环嵌套循环 i: 1 j: 1
  49. -------- 循环嵌套循环 break 只能跳出当前循环----
  50. 循环嵌套循环 i: 0 j: 0
  51. 循环嵌套循环 i: 1 j: 0
  52. -------- 循环嵌套循环 break 跳出lab----
  53. 循环嵌套循环 i: 0 j: 0
复制代码
  1. switchCase("a", "b")
  2. func switchCase(alpha string, in interface{}) {
  3.         switch alpha {
  4.         case "a":
  5.                 fmt.Println("a")
  6.         case "b":
  7.                 fmt.Println("b")
  8.         case "c", "d":
  9.                 fmt.Println("c")
  10.                 fmt.Println("d")
  11.                 fallthrough
  12.         case "e":
  13.                 fmt.Println("e")
  14.         default:
  15.                 fmt.Println("default")
  16.         }
  17.         switch in.(type) {
  18.         case string:
  19.                 fmt.Println("string")
  20.         default:
  21.                 fmt.Println("default")
  22.         }
  23. }
复制代码
  1. -------- switch case----
  2. a
  3. string
复制代码
  1. func gotoCase() {
  2.         var a = 0
  3. lab1:
  4.         fmt.Println("--------goto case------")
  5.         for i := 0; i < 10; i++ {
  6.                 a += i
  7.                 if a == 5 {
  8.                         goto lab1
  9.                 }
  10.                 fmt.Println("----------a:", a, "i:", i)
  11.         }
  12. }
复制代码
  1. --------goto case------
  2. ----------a: 0 i: 0
  3. ----------a: 1 i: 1
  4. ----------a: 3 i: 2
  5. ----------a: 6 i: 3
  6. ----------a: 10 i: 4
  7. ----------a: 15 i: 5
  8. ----------a: 21 i: 6
  9. ----------a: 28 i: 7
  10. ----------a: 36 i: 8
  11. ----------a: 45 i: 9
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

3 天前

举报

感谢,下载保存了
您需要登录后才可以回帖 登录 | 立即注册