概述
流程控制主要用于设定计算执行的次序,建立程序的逻辑结构。Go 语言的流程控制和其他编程语言类似,支持如下几种流程控制语句:
- 条件语句:用于条件判断,对应的关键字有
if
、else
和else if
; - 分支语句:用于分支选择,对应的关键字有
switch
、case
和select
(用于通道,后面介绍协程时会提到); - 循环语句:用于循环迭代,对应的关键字有
for
和range
; - 跳转语句:用于代码跳转,对应的关键字有
goto
。
在实际的使用中,往往会根据具体的业务逻辑,灵活组合上述控制语言来实现相应的功能。
条件语句
接下来,我们来简单介绍下各种流程控制语句的用法,首先从条件语句开始。
条件语句的示例模板如下:
// if if condition { // do something } // if...else... if condition { // do something } else { // do something } // if...else if...else... if condition1 { // do something } else if condition2 { // do something else } else { // catch-all or default }
有其他编程语言基础的同学理解起来毫不费力,我们可以编写一个简单的条件语句示例代码如下:
score := 100 if score > 90 { fmt.Println("Grade: A") } else if score > 80 { fmt.Println("Grade: B") } else if score > 70 { fmt.Println("Grade: C") } else if score > 60 { fmt.Println("Grade: D") } else { fmt.Println("Grade: F") }
这段代码可用于打印指定分数对应的等级。
注意事项
关于 Go 语言的条件语句,需要注意以下几点:
- 条件语句不需要使用圆括号将条件包含起来
()
; - 无论语句体内有几条语句,花括号
{}
都是必须存在的; - 左花括号
{
必须与if
或者else
处于同一行; - 在
if
之后,条件语句之前,可以添加变量初始化语句,使用;
间隔,比如上述代码可以这么写if score := 100; score > 90 {
学习打卡
学习打卡~
学习打卡