go语言中除了两个基础的控制语句if和for,还有switch语句,它是多路分支控制,下面给出一个示例进行说明,主要通过命令行传入一个参数,然后跟据其值情况分别返回不同的值。如果没有其它的case语句符合条件,那么可选的默认case语句(default)将会被执行。默认case语句可以放在任何地方。
switch.go
// switchpackage mainimport ("fmt""os""strconv")func main() {var input stringinput = os.Args[1]a, _ := strconv.Atoi(input)ret := Signum(a)fmt.Println(ret)}func Signum(x int) int {switch {case x > 0:return +1default:return 0case x < 0:return -1}}首先在文件所在位置使用go build编译:
go build switch.go若未报错,将会生成对应的二进制编译switch文件,直接使用如下命令测试即可:
$ ./switch 11 $ ./switch -1-1 $ ./switch 00