iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 13
0
自我挑戰組

Go to 放棄系列 第 13

go note8 => switch

跟c語言的switch很像,不用寫break

package main

import "fmt"

func checkValue(s int) {
	switch s {
	case 0:
	case 1:
		fmt.Println("check value is ", s)
	}
}
func main() {
	checkValue(0)
	checkValue(1)
}

期望是
// check value is 0
// check value is 1

但結果只輸出一行
// check value is 1

way1 use fallthrough

package main

import "fmt"

func checkValue(s int) {
	switch s {
	case 0:
		fallthrough
	case 1:
		fmt.Println("check value is ", s)
	}
}
func main() {
	checkValue(0)
	checkValue(1)
}

way2 use comma

package main

import "fmt"

func checkValue(s int) {
	switch s {
	case 0, 1:
		fmt.Println("check value is ", s)
	}
}
func main() {
	checkValue(0)
	checkValue(1)
}

有關coding style建議

如果判斷式是一種情況

if (condition) {
} else {

}

改寫

if (condition) {
  return ...
} return ...

若多個判斷情況
需動用else if 兩次以上
建議直接用switch case


上一篇
go note 7 -> slice
下一篇
go note 9 => init
系列文
Go to 放棄30

尚未有邦友留言

立即登入留言