for_loop

  1. package main
  2. import "fmt"
  3. func main() {
  4. //for init; condition; post{} 计算1-10的和
  5. //sum := 0
  6. //for i := 1; i <= 10; i++ {
  7. // sum += i
  8. //}
  9. //fmt.Println(sum)
  10. //1. i:=1
  11. //2. i是否 <=10
  12. //3. sum = 1
  13. //4. i++ ->i =2
  14. //5. ...
  15. //6. i=11 跳出循环
  16. //循环字符串
  17. name := "Wozen:我的世界"
  18. //for index, value := range name {
  19. //fmt.Println(index, value)
  20. // fmt.Printf("%d %c\n", index, value)
  21. //}
  22. //1. name 是一个字符
  23. //2. 字符串是字符串的数组
  24. //fmt.Printf("%c\n", name[0])
  25. //fmt.Printf("%c\n", name[6])
  26. name_arr := []rune(name)
  27. for i := 0; i < len(name_arr); i++ {
  28. fmt.Printf("%c\n", name_arr[i])
  29. }
  30. //3.在做字符串遍历的时候,要尽量使用range
  31. }

goto_test

  1. package main
  2. import "fmt"
  3. func main() {
  4. //goto能不用就不用 goto过多 label过多 整个程序到后期维护就会麻烦
  5. //最容易理解的代码就是逐行的执行,哪怕你多一个函数的调用对于我们都是理解上的负担
  6. /* 定义局部遍历 */
  7. var a = 10
  8. /* 循环 */
  9. LOOP:
  10. for a < 20 {
  11. if a == 15 {
  12. /* 跳过迭代 */
  13. a = a + 1
  14. goto LOOP
  15. }
  16. fmt.Printf("a的值为:%d\n", a)
  17. a++
  18. }
  19. }

if_condition

  1. package main
  2. import "fmt"
  3. func main() {
  4. //if语句
  5. //num := 12
  6. //if num%2 == 0 {
  7. // fmt.Println("偶数")
  8. //} else {
  9. // fmt.Println("奇数")
  10. //}
  11. score := 95
  12. if score >= 90 {
  13. fmt.Println("优秀")
  14. } else if score >= 80 {
  15. fmt.Println("良")
  16. } else if score >= 60 {
  17. fmt.Println("一般")
  18. } else {
  19. fmt.Println("不及格")
  20. }
  21. //if statement;condition
  22. if num := 11; num%2 == 0 {
  23. fmt.Println("偶数")
  24. } else {
  25. fmt.Println(num)
  26. }
  27. }

switch_test

  1. package main
  2. import "fmt"
  3. func main() {
  4. score := 90
  5. grade := "A"
  6. /*
  7. 90+ A
  8. 80~90 B
  9. 70~79 C
  10. 60~69 D
  11. 60- E
  12. */
  13. switch {
  14. case score >= 90:
  15. grade = "A"
  16. fmt.Println("优秀")
  17. case score >= 80 && score <= 89:
  18. grade = "B"
  19. case score >= 70 && score <= 79:
  20. grade = "C"
  21. case score >= 60 && score <= 69:
  22. grade = "D"
  23. default:
  24. grade = "E"
  25. }
  26. fmt.Println(grade)
  27. //不同的case表达式使用逗号分隔
  28. var a = "daddy"
  29. switch a {
  30. case "mum", "daddy":
  31. fmt.Println("family")
  32. }
  33. var x interface{}
  34. switch i := x.(type) {
  35. case nil:
  36. fmt.Printf(" x 的类型 :%T", i)
  37. case int:
  38. fmt.Printf("x 是 int 型")
  39. case float64:
  40. fmt.Printf("x 是 float64 型")
  41. case func(int) float64:
  42. fmt.Printf("x 是 func(int) 型")
  43. case bool, string:
  44. fmt.Printf("x 是 bool 或 string 型")
  45. default:
  46. fmt.Printf("未知型")
  47. }
  48. }