友情提示:380元/半年,儿童学编程,就上码丁实验室。
在 Go 语言中,可以通过 if 关键字进行条件判断,格式如下:
if 表达式1 { 分支1 } else if 表达式2 { 分支2 } else{ 分支3 }
当表达式 1 的结果为 true 时,执行分支 1,否则判断表达式 2,如果满足则执行分支 2,都不满足时,则执行分支 3。表达式 2、分支 2 和分支 3 都是可选的,可以根据实际需要进行选择。
Go 语言规定与 if 匹配的左括号{
必须与 if 和表达式放在同一行,如果尝试将{
放在其他位置,将会触发编译错误。
同理,与 else 匹配的{
也必须与 else 在同一行,else 也必须与上一个 if 或 else if 的右边的大括号在一行。
举例
通过下面的例子来了解 if 的写法:
var ten int = 11 if ten > 10 { fmt.Println(">10") } else { fmt.Println("<=10") }
代码输出如下:
>10
代码说明如下:
- 第 1 行,声明整型变量并赋值 11。
- 第 2 行,判断当 ten 的值大于 10 时执行第 3 行,否则执行第 4 行。
- 第 3 和第 5 行,分别打印大于 10 和小于等于 10 时的输出。
特殊写法
if 还有一种特殊的写法,可以在 if 表达式之前添加一个执行语句,再根据变量值进行判断,代码如下:
if err := Connect(); err != nil { fmt.Println(err) return }
Connect 是一个带有返回值的函数,err:=Connect() 是一个语句,执行 Connect 后,将错误保存到 err 变量中。
err!=nil 才是 if 的判断表达式,当 err 不为空时,打印错误并返回。
这种写法可以将返回值与判断放在一行进行处理,而且返回值的作用范围被限制在 if、else 语句组合中。
提示
在编程中,变量在其实现了变量的功能后,作用范围越小,所造成的问题可能性越小,每一个变量代表一个状态,有状态的地方,状态就会被修改,函数的局部变量只会影响一个函数的执行,但全局变量可能会影响所有代码的执行状态,因此限制变量的作用范围对代码的稳定性有很大的帮助。