switch使用细节

package main

import "fmt"

func switchTest(str string) {
   switch str {
   case "aaa", "bbb", "ccc": // 重要提醒:支持写多个值,每个值之间用半角逗号隔开。
      fmt.Printf("str = %+v \n", str)
   case "ddd":
      fmt.Printf("str = ddd \n")
      // fallthrough // 重要提醒:若使用fallthrough关键字则会继续检查下一个case是否匹配。
   case "eee":
      fmt.Printf("str = eee \n")
   default:
      fmt.Printf("str is illegal \n")
   }

}

func main() {
   switchTest("aaa") // str = aaa
   switchTest("bbb") // str = bbb
   switchTest("ccc") // str = ccc
   switchTest("ddd") // str = ddd
   switchTest("eee") // str = eee
   switchTest("xxx") // str is illegal
}

//========== 总结 ==========//
// 1、case后面支持写多个值,每个值之间用半角逗号隔开。
// 2、case匹配成功后默认会立即跳出switch,相当于其它语言的break,如果要阻止跳出switch可以
//    在该case最后加上fallthrough关键字,这样就会继续检查下一个case是否匹配。

Copyright © 2024 码农人生. All Rights Reserved