【Go Time】Go语言里的条件语句else、switch
if语句判断
-
if里的条件可以赋值
-
if的条件里赋值的变量作用域就在这个if语句里
if contents, err := ioutil.ReadFile(filename); err != nil { fmt.Println(err) } else { fmt.Printf("%s\n", contents) } // 这里会报错。contents 作用域不同 // fmt.Printf("%s\n", contents)
switch语句
- switch语句中,每个case会自动break
- switch后面可以没有表达式
func eval(a, b int, op string) int {
var result int
switch op {
case "+":
result = a + b
case "-":
result = a -b
case "*":
result = a * b
case "/":
result = a / b
default:
panic("unsupported operator:" + op)
}
return result
}
func grade(score int) string {
var g := ""
switch {
case score < 0 || score > 100
panic(fmt.Sprintf("Wrong score: %d", score))
case score < 60:
g = "F" // 或者 return "F"
case score < 80:
g = "C"
case score < 90:
g = "B"
case score <= 100:
g = "A"
}
return g
}
如果本文对你有帮助,请【关注】 【打赏】 或【分享】
有问题请添加个人微信:【mengyilingjian】 ,添加时请备注来意,谢谢!
![添加好友 添加好友](https://images.cnblogs.com/cnblogs_com/mengyilingjian/1570270/o_alipay.bmp)
本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文出处链接。
★★★★★★★★★★ 来都来了,点个赞再走呗★★★★★★★★★★
![添加好友 添加好友](https://images.cnblogs.com/cnblogs_com/mengyilingjian/1570270/o_alipay.bmp)
![谢谢支持 打赏码](https://images.cnblogs.com/cnblogs_com/mengyilingjian/1570270/o_200623060543weixinshang.bmp)