Skip to content
On this page

条件语句

概述

流程控制主要用于设定计算执行的次序,建立程序的逻辑结构。Go 语言的流程控制和其他编程语言类似,支持如下几种流程控制语句:

  • 条件语句:用于条件判断,对应的关键字有 ifelseelse if
  • 分支语句:用于分支选择,对应的关键字有 switchcaseselect(用于通道,后面介绍协程时会提到);
  • 循环语句:用于循环迭代,对应的关键字有 forrange
  • 跳转语句:用于代码跳转,对应的关键字有 goto

在实际的使用中,往往会根据具体的业务逻辑,灵活组合上述控制语言来实现相应的功能。

条件语句

接下来,我们来简单介绍下各种流程控制语句的用法,首先从条件语句开始。

条件语句的示例模板如下:

Go
// 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 
}

有其他编程语言基础的同学理解起来毫不费力,我们可以编写一个简单的条件语句示例代码如下:

Go
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 {

Released under the MIT License.