henryspace

记录精彩的程序人生 开始使用

Part 5 - Go 语言学习 - 流程控制语句

流程控制语句

  1. if条件语句
  • if 条件句不需要括号 if ... else if ... else ...
if v > 100 {
	return 100
} else if v > 10 {
	return 10
} else {
	return 0
}
  • if 条件句可以支持多个表达式,用分号;分隔
  • if 的条件里可以赋值,并且赋值的变量作用域就在这个if条件句里
if contents, err := ioutil.ReadFile(name); err != nil {
	fmt.Println(err)
} else {
	fmt.Printf("%s\n", contents)
}
  1. switch条件语句
  • switch 会自动break, 除非使用fallthrough
func eval(a, b int, op string) int {
	switch op {
		case "+":
			return = a + b
		case "-"
			return = a - b
		case "*"
			return = a * b
			fallthrough     // 加这个, 程序会自动走向下个case
		case "/"
			return = a / b
		default:
			panic("unsurported")
	}
	return result
}
  • switch 可以不带表达式
func grade(score int) string {

	g := ""
	switch {
		case score < 60:
			g = "F"
		case score < 80:
			g = "D"
		default:
			g = "A"
	}
	return  g
}
评论
留下你的脚步