Go语言if else(分支结构)

< 上一页流程控制 Go语言循环结构下一页 >

pk10开户推出辅导班啦,包括「C语言辅导班、C++辅导班、算法/数据结构辅导班」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践 + 永久学习。QQ在线,随时响应!

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 语句组合中。

提示

在编程中,变量在其实现了变量的功能后,作用范围越小,所造成的问题可能性越小,每一个变量代表一个状态,有状态的地方,状态就会被修改,函数的局部变量只会影响一个函数的执行,但全局变量可能会影响所有代码的执行状态,因此限制变量的作用范围对代码的稳定性有很大的帮助。
< 上一页流程控制 Go语言循环结构下一页 >