switch语句

switch语句是多路分支执行。将一个表达式或是类型跟一系列case进行比较,匹配的分支会被执行。

Go中的switch是我见过的语言中最灵活的,不像有些语言只能是数字或者byte可以。

  1. switch week {
  2. case "Mon":
  3. ...
  4. case "Thu":
  5. ...
  6. default: //如果没有找到合适的匹配,执行default
  7. ...
  8. }
  9. switch i {
  10. case 3:
  11. ...
  12. case 4,5,6: //相当于if i==4 || i==5 || i==6
  13. ...
  14. default:
  15. ...
  16. }
  17. //GO中还可以使用赋值语句
  18. switch i := yourfun(); {
  19. case i < 0:
  20. ...
  21. case i > 0:
  22. ...
  23. default:
  24. // 0
  25. }

pro05_4_1.go