Go - if
概述
if 语句是 Go 语言中提供的一种
分支控制结构,根据布尔表达式的值,在两个分支中选择一个执行
1 | if boolean_expression { |
二分支结构
1 | if boolean_expression { |
多分支结构
1 | if boolean_expression1 { |
1 | if boolean_expression1 { |
特点
- 与
Go 函数一样,if 语句的分支代码的左大括号与 if 关键字在同一行- Go 代码风格的统一要求 - if 语句的布尔表达式整体
不需要用括号包括 - if 关键字后面的条件判断表达式的
求值结果必须是布尔类型(true or false)
1 | if runtime.GOOS == "darwin" { |
如果判断的条件比较多,可以用多个
逻辑操作符连接多个条件判断表达式
1 | if runtime.GOOS == "darwin" || runtime.GOOS == "linux" { |
自用变量
自用变量为在 if 后的
布尔表达式之前声明的变量,只能在 if 语句的代码块范围内使用
a、b、c 位于各级 if 的
隐式代码块中作用域始于其声明所在的代码块,并一直扩展至嵌入到这个代码块的所有内层代码块中
1 | func f() int { |
容易导致
变量遮蔽
1 | x := 1 |
最佳实践
快乐路径 -
Happy Path
- 仅使用
单分支控制结构 - 当出现
错误时,在单分支中快速返回 正常逻辑的代码,布局上始终靠左- 函数执行到
最后一行代表成功
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.











