8. Go 语言流程控制:if-else
Python编程时光 · · 1182 次点击 · · 开始浏览Hi,大家好,我是明哥。
在自己学习 Golang 的这段时间里,我写了详细的学习笔记放在我的个人微信公众号 《Go编程时光》,对于 Go 语言,我也算是个初学者,因此写的东西应该会比较适合刚接触的同学,如果你也是刚学习 Go 语言,不防关注一下,一起学习,一起成长。
我的在线博客:http://golang.iswbm.com
我的 Github:github.com/iswbm/GolangCodingTime
1. 条件语句模型
Go里的流程控制方法还是挺丰富,整理了下有如下这么多种:
- if - else 条件语句
- switch - case 选择语句
- for - range 循环语句
- goto 无条件跳转语句
- defer 延迟执行
今天先来讲讲 if-else 条件语句
Go 里的条件语句模型是这样的
if 条件 1 {
分支 1
} else if 条件 2 {
分支 2
} else if 条件 ... {
分支 ...
} else {
分支 else
}
Go编译器,对于 { 和 } 的位置有严格的要求,它要求 else if (或 else)和 两边的花括号,必须在同一行。
由于 Go是 强类型,所以要求你条件表达式必须严格返回布尔型的数据(nil 和 0 和 1 都不行,具体可查看《详解数据类型:字典与布尔类型》)。
对于这个模型,分别举几个例子来看一下。
2. 单分支判断
只有一个 if ,没有 else
import "fmt"
func main() {
age := 20
if age > 18 {
fmt.Println("已经成年了")
}
}
如果条件里需要满足多个条件,可以使用 && 和 ||
-
&&:表示且,左右都需要为true,最终结果才能为 true,否则为 false -
||:表示或,左右只要有一个为true,最终结果即为true,否则 为 false
import "fmt"
func main() {
age := 20
gender := "male"
if (age > 18 && gender == "male") {
fmt.Println("是成年男性")
}
}
3. 多分支判断
if - else
import "fmt"
func main() {
age := 20
if age > 18 {
fmt.Println("已经成年了")
} else {
fmt.Println("还未成年")
}
}
if - else if - else
import "fmt"
func main() {
age := 20
if age > 18 {
fmt.Println("已经成年了")
} else if age >12 {
fmt.Println("已经是青少年了")
} else {
fmt.Println("还不是青少年")
}
}
4. 高级写法
在 if 里可以允许先运行一个表达式,取得变量后,再对其进行判断,比如第一个例子里代码也可以写成这样
import "fmt"
func main() {
if age := 20;age > 18 {
fmt.Println("已经成年了")
}
}
系列导读
24. 超详细解读 Go Modules 前世今生及入门使用
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
Hi,大家好,我是明哥。
在自己学习 Golang 的这段时间里,我写了详细的学习笔记放在我的个人微信公众号 《Go编程时光》,对于 Go 语言,我也算是个初学者,因此写的东西应该会比较适合刚接触的同学,如果你也是刚学习 Go 语言,不防关注一下,一起学习,一起成长。
我的在线博客:http://golang.iswbm.com
我的 Github:github.com/iswbm/GolangCodingTime
1. 条件语句模型
Go里的流程控制方法还是挺丰富,整理了下有如下这么多种:
- if - else 条件语句
- switch - case 选择语句
- for - range 循环语句
- goto 无条件跳转语句
- defer 延迟执行
今天先来讲讲 if-else 条件语句
Go 里的条件语句模型是这样的
if 条件 1 {
分支 1
} else if 条件 2 {
分支 2
} else if 条件 ... {
分支 ...
} else {
分支 else
}
Go编译器,对于 { 和 } 的位置有严格的要求,它要求 else if (或 else)和 两边的花括号,必须在同一行。
由于 Go是 强类型,所以要求你条件表达式必须严格返回布尔型的数据(nil 和 0 和 1 都不行,具体可查看《详解数据类型:字典与布尔类型》)。
对于这个模型,分别举几个例子来看一下。
2. 单分支判断
只有一个 if ,没有 else
import "fmt"
func main() {
age := 20
if age > 18 {
fmt.Println("已经成年了")
}
}
如果条件里需要满足多个条件,可以使用 && 和 ||
-
&&:表示且,左右都需要为true,最终结果才能为 true,否则为 false -
||:表示或,左右只要有一个为true,最终结果即为true,否则 为 false
import "fmt"
func main() {
age := 20
gender := "male"
if (age > 18 && gender == "male") {
fmt.Println("是成年男性")
}
}
3. 多分支判断
if - else
import "fmt"
func main() {
age := 20
if age > 18 {
fmt.Println("已经成年了")
} else {
fmt.Println("还未成年")
}
}
if - else if - else
import "fmt"
func main() {
age := 20
if age > 18 {
fmt.Println("已经成年了")
} else if age >12 {
fmt.Println("已经是青少年了")
} else {
fmt.Println("还不是青少年")
}
}
4. 高级写法
在 if 里可以允许先运行一个表达式,取得变量后,再对其进行判断,比如第一个例子里代码也可以写成这样
import "fmt"
func main() {
if age := 20;age > 18 {
fmt.Println("已经成年了")
}
}
系列导读
24. 超详细解读 Go Modules 前世今生及入门使用