switch
switch
switch 是编写一连串 if - else 语句的简便方法。它运行第一个值等于条件表达式的 case 语句。
Go 的 switch 语句类似于 C、C++、Java、JavaScript 和 PHP 中的,不过 Go 只运行选定的 case,而非之后所有的 case。 实际上,Go 自动提供了在这些语言中每个 case 后面所需的 break 语句。 除非以 fallthrough 语句结束,否则分支会自动终止。 Go 的另一点重要的不同在于 switch 的 case 无需为常量 ,且取值不必为整数。.
package main import ( "fmt" "runtime" ) func main() { fmt.Print("Go runs on ") switch os := runtime.GOOS; os { case "darwin": fmt.Println("OS X.") case "linux": fmt.Println("Linux.") default: // freebsd, openbsd, // plan9, windows... fmt.Printf("%s.\n", os) } }
21
1 package
main 2 3 import ( 4
"fmt" 5
"runtime" 6 ) 7 8 func
main () { 9
fmt . Print ( "Go runs on " ) 10
switch
os :
runtime . GOOS ; os { 11
case
"darwin" : 12
fmt . Println ( "OS X." ) 13
case
"linux" : 14
fmt . Println ( "Linux." ) 15
default : 16
// freebsd, openbsd, 17
// plan9, windows... 18
fmt . Printf ( "%s.\n" , os ) 19
} 20 } 21