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.