1. 程式人生 > >Golang中Switch的使用

Golang中Switch的使用

跟一般語言的Switch有點不一樣,Golang在使用兩個case的時候,是第一個是不生效的。

如下的程式碼

switch (type) {
	case 1:
	case 2:
		return "a";
	case 3:
		return "b"
	default:
		return "c"
}
在Java中,輸入1,2都是返回a,輸入3是返回b,其他是c。

但是在Go中,輸入1竟然是返回c,被坑過幾次。

如果想在Go中達到類似Java的效果,只能這麼寫:

switch type {
	case 1:
		return "a"
	case 2:
		return "a";
	case 3:
		return "b"
	default:
		return "c"
}

一條條寫明顯太費勁了,所以還可以這麼寫:

switch type {
	case 1, 2:
		return "a";
	case 3:
		return "b"
	default:
		return "c"
}
小細節卻不能不注意,因為如果switch分支走錯,邏輯基本就錯了。