语句 | 描述 |
if 语句 | if 语句 由一个布尔表达式后紧跟一个或多个语句组成。 |
if...else 语句 | if 语句 后可以使用可选的 else 语句, else 语句中的表达式在布尔表达式为 false 时执行。 |
if 嵌套语句 | 你可以在 if 或 else if 语句中嵌入一个或多个 if 或 else if 语句。 |
switch 语句 | switch 语句用于基于不同条件执行不同动作。 |
select 语句 | select 语句类似于 switch 语句,但是select会随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。 |
package main import "fmt" func main() { /* 定义局部变量 */ var a int = 10 /* 使用 if 语句判断布尔表达式 */ if a < 20 { /* 如果条件为 true 则执行以下语句 */ fmt.Printf("a 小于 20\n" ) } fmt.Printf("a 的值为 : %d\n", a)}以上代码执行结果为:a 小于 20 a 的值为 : 10
package main import "fmt" func main() { /* 局部变量定义 */ var a int = 100; /* 判断布尔表达式 */ if a < 20 { /* 如果条件为 true 则执行以下语句 */ fmt.Printf("a 小于 20\n" ); } else { /* 如果条件为 false 则执行以下语句 */ fmt.Printf("a 不小于 20\n" ); } fmt.Printf("a 的值为 : %d\n", a); }以上代码执行结果为:a 不小于 20 a 的值为 : 100
package main import "fmt" func main() { /* 定义局部变量 */ var a int = 100 var b int = 200 /* 判断条件 */ if a == 100 { /* if 条件语句为 true 执行 */ if b == 200 { /* if 条件语句为 true 执行 */ fmt.Printf("a 的值为 100 , b 的值为 200\n" ); } } fmt.Printf("a 值为 : %d\n", a ); fmt.Printf("b 值为 : %d\n", b );}以上代码执行结果为:a 的值为 100 , b 的值为 200 a 值为 : 100 b 值为 : 200

package main import "fmt" func main() { /* 定义局部变量 */ var grade string = "B" var marks int = 90 switch marks { case 90: grade = "A" case 80: grade = "B" case 50,60,70 : grade = "C" default: grade = "D" } switch { case grade == "A" : fmt.Printf("优秀!\n" ) case grade == "B", grade == "C" : fmt.Printf("良好\n" ) case grade == "D" : fmt.Printf("及格\n" ) case grade == "F": fmt.Printf("不及格\n" ) default: fmt.Printf("差\n" ); } fmt.Printf("你的等级是 %s\n", grade ); }以上代码执行结果为:优秀! 你的等级是 A
package main import "fmt" func main() { var x interface{} switch i := x.(type) { case nil: fmt.Printf(" x 的类型 :%T",i) case int: fmt.Printf("x 是 int 型") case float64: fmt.Printf("x 是 float64 型") case func(int) float64: fmt.Printf("x 是 func(int) 型") case bool, string: fmt.Printf("x 是 bool 或 string 型" ) default: fmt.Printf("未知型") } }以上代码执行结果为:x 的类型 :<nil>
package main import "fmt" func main() { switch { case false: fmt.Println("1、case 条件语句为 false") fallthrough case true: fmt.Println("2、case 条件语句为 true") fallthrough case false: fmt.Println("3、case 条件语句为 false") fallthrough case true: fmt.Println("4、case 条件语句为 true") case false: fmt.Println("5、case 条件语句为 false") fallthrough default: fmt.Println("6、默认 case") }}以上代码执行结果为:2、case 条件语句为 true 3、case 条件语句为 false 4、case 条件语句为 true
package main import "fmt" func main() { var c1, c2, c3 chan int var i1, i2 int select { case i1 = <-c1: fmt.Printf("received ", i1, " from c1\n") case c2 <- i2: fmt.Printf("sent ", i2, " to c2\n") case i3, ok := (<-c3): // same as: i3, ok := <-c3 if ok { fmt.Printf("received ", i3, " from c3\n") } else { fmt.Printf("c3 is closed\n") } default: fmt.Printf("no communication\n") } }以上代码执行结果为:no communication
package main import "fmt" //if语句嵌套//校内举办跑步比赛,10s内进去比赛,分性别,进入男子组,女子组func main() { var ( a = 9 b = "男" ) if a < 10 && b == "男" { fmt.Println("进去决赛") fmt.Println("进入男子") } if a < 10 && b == "女" { fmt.Println("进去决赛") fmt.Println("进入女子组") } if a > 10 { fmt.Println("滚") } /* if a < 10 { fmt.Println("进去决赛") if b == "男" { fmt.Println("进入男子") } else { fmt.Println("进入女子") } } else { fmt.Println("滚") }*/} //switch语句,对学生成绩进行考评,90-100:优秀,80-89:良好,60-79及格,60以下,不及格package main import "fmt" func main() { var vaule = 1 switch vaule { case 1: fmt.Println("1") case 2: fmt.Println("2") case 3: fmt.Println("3") default: fmt.Println("滚犊子") } /* var a = 77 //等效于if else 语句 switch { case a >= 90 && a <= 100: fmt.Println("好") case a >= 80 && a <= 89: fmt.Println("还行") case a >= 60 && a <= 79: fmt.Println("合格") default: fmt.Println("不合格") }*/}