1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
| // if package main import "fmt" func main() { // age := 18 // if 表达式1 { // 分支1 // } else if 表达式2 { // 分支2 // } else { // 分支3 // } // if age > 18 { // fmt.Println("年龄大于18") // } else if age == 18 { // fmt.Println("年龄等于18") // } else if age < 18 { // fmt.Println("年龄小于18") // } else { // fmt.Println("未知") // } if age2 :=20; age2 >18 { fmt.Println(age2) fmt.Println("成年") // age2 只在if代码块有效 } // fmt.Println(age2) }
//for package main
import "fmt"
func main() { // for 初始语句; 条件表达式; 结束语句 { // 循环体语句 // } // for i := 0; i < 10; i ++ { // fmt.Println(i) // } // 初始语句可以省略,但初始语句后分号; 必须写 // j := 0 // for ; j < 5; j++ { // fmt.Println(j) // } // 初始语句和结束语句都可以省略 类似于其他语言中while h := 1 for h < 6 { fmt.Println(h) h++ } // 条件表达式省略相当于无限循环 可通过break、goto、retur、panic(抛错) 语句强制退出循环 // for { // 循环体语句 // } // for range 键值循环 遍历数组、切片、字符串、map、通道(channel) // 数组、切片、字符串返回索引和值 // map返回键和值 // 通道只返回通道内的值 aa := "sss" fmt.Println(aa) }
//switch package main
import "fmt"
func main() { // switch 表达式 { // case 值1: // 分支1 // case 值2: // 分支2 // case 值3: // 分支3 // default: // 默认分支 // } // 每个switch只能有一个default分支 // 一个分支可以有多个值,用逗号分隔 // case 值1, 值2, 值3: // case 后可以跟表达式 // case a > 2: // fallthrough 再执行满足条件的下一个case a := 2 switch a { case 1: fmt.Println("值是1") case 2: fmt.Println("值是2") fallthrough case 3: fmt.Println("值是3") default: fmt.Println("默认值") } }
//goto break continue package main
import "fmt"
func main() { // goto 通过标签进行代码间无条件跳转 for i := 0; i < 5; i++ { for j := 0; j < 5; j++ { if i == 2 && j == 2 { goto breakTag } fmt.Printf("%d - %d\n", i, j) } } // 定义标签 breakTag: fmt.Println("2层for循环结束") fmt.Println("niubi")
// break 调出循环 break可以结束for、switch、select的代码块 // continue 继续下一次循环 只能在for循环使用
}
|