Go 语言 if else (条件判断)

更新时间 2022-03-31 14:58:46

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡 / 赠书活动

目前, 星球 内第一个项目:全栈前后端分离博客项目,演示地址:http://116.62.199.48/, 1.0 版本已经更新完毕,正在更新 2.0 版本。采用技术栈 Spring Boot + Mybatis Plus + Vue 3.x + Vite 4手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 224 小节,累计 35w+ 字,讲解图:1544 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 1000+ 小伙伴加入,欢迎点击围观

Go 语言 中,if else 条件判断格式如下:

if 表达式1 {
  分支1
} else if 表达式2 {
  分支2
} else {
  分支3
}
  • ①:当表达式1的结果为 true 时,会执行分支1的代码;
  • ②:当表达式1的结果为 false 时,会执行表达式2,若结果为 true, 则会执行分支2的代码。
  • ③:当前面的条件都不满足,即都为 false 时,会执行分支3的代码。

PS:表达式2、分支2 、分支3都是可选的,可以根据实际情况自行选择。

注意:Go 语言中规定:if 的 左括号 ‘’{‘’ 必须与 if 表达式放在同一行,如果强行放置在其他位置,会发生如下编译错误。

unexpected newline, expecting { after if clause

下面是代码反例,编译报错图示:

go语言if else条件判断编译报错go语言if else条件判断编译报错

同理,与 else 匹配的 “{” 也必须与 else 放置在同一行, else 也必须与上一个 if 或 else if 的右边的大括号放在同一行。

一、Go 语言 if else 条件判断代码示例

下面是一段正确的 if else 条件判断示例:

package main

import "fmt"

func main()  {
	// 定义一个字符串
	str := "quanxiaoha.com"

	// 获取该字符串的实际长度
	len := len(str)

	// 判断字符串的长度是否等于14
	if len == 14 {
		// 若等于14
		fmt.Println("长度等于 14")
	} else {
		// 若不等于14
		fmt.Println("长度不等于 14")
	}
}

代码输出如下:

长度等于 14

二、if 的特殊写法

if 还有种特殊写法,我们可以在 if 表达式之前添加一个执行语句,再根据变量 进行判断,代码如下:

if err := Connect(); err != nil {
		fmt.Println(err)
		return
}

Connect() 是一个获取数据库连接的函数,它带有返回值,err := Connect() 是一个语句,执行 Connect() 函数后,将错误赋值给 err 变量。

err != nil 是 if 的条件判断表达式,当 err 不为空时,打印错误并返回。

这种写法可以将返回值和判断放在一行进行处理,使得返回值的作用域范围被限制在了 if else 语句组合中,这样做的好处是,变量的作用域范围越小,那么它可能造成的问题的可能性越小,这对代码的稳定性很有帮助,另外,也可以做炫技使用。

三、结语

本小节中,带着大家学习了 Go 语言流程控制的 if else 条件判断,希望对大家有所帮助。