switch

程序员成长之旅 · 程序员成长之旅/Go语言学习/笔记 · 238 字

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