// GO 语言 条件判断 if 也类似 c++ / JAVA 但是没有 ()package mainimport ( "fmt" "runtime")/* 打印 10 次 true */func ptrue() { i :=0 for { fmt.Println("true") // 打印 10 次 true i++ if i >= 10 { // i 大于等于 10 的时候退出 for 循环 break } }}/* 数值判断 */func testNum(i int) { if i < 10 { fmt.Println("i < 10") } else if i < 20 { fmt.Println("i < 20") } else { fmt.Println("Haha!") }}/* 系统判断 */func testOS() { fmt.Printf("Go Run on : ") os := runtime.GOOS switch os { case "darwin" : fmt.Println("OS X.") /*no break here*/ case "linux": fmt.Println("Linux.") default: fmt.Printf("%s", os) } fmt.Printf("\n")}/* * switch 没有条件 等同于 switch true, 可以用来替代很长的 if - else if 语言 * case 后面可以同时指定多个满足的条件 * go 里面的 switch case 不需要使用 break */func rank() { var grade string = "B" var marks int = 90 switch marks { case 90: grade = "A" case 80: grade = "B" case 70, 60 : grade = "C" default: grade = "D" } fmt.Printf("grade = %s\n", grade) switch { case grade == "A": fmt.Println("优秀!") case grade == "B": fmt.Println("良好!") case grade == "C": fmt.Println("及格!") default: fmt.Println("不及格!") }}func main() { ptrue() testNum(9) testNum(15) testNum(30) testOS() rank()}
输出:
C:\Go\bin\go.exe run C:\Go\src\flag\s1.gotruetruetruetruetruetruetruetruetruetruei < 10i < 20Haha!Go Run on : windowsgrade = A优秀!