条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句。

以下是在大多数编程语言中发现的典型条件语句的一般形式的流程图

Go 语言提供了以下几种条件判断语句:

语句 描述
Go if 语句 if 语句 由一个布尔表达式后紧跟一个或多个语句组成。
Go if…else 语句 if 语句 后可以使用可选的 else 语句, else 语句中的表达式在布尔表达式为 false 时执行。
Go if 嵌套语句 你可以在 if 或 else if 语句中嵌入一个或多个 if 或 else if 语句。
Go switch 语句 switch 语句用于基于不同条件执行不同动作。
Go select 语句 select 语句类似于 switch 语句,但是select会随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。

IF 语句

if 语句由布尔表达式后紧跟一个或多个语句组成。

语法

Go 编程语言中 if 语句的语法如下:

if 布尔表达式 {
/* 在布尔表达式为 true 时执行 */
}

If 在布尔表达式为 true 时,其后紧跟的语句块执行,如果为 false 则不执行。

流程图如下:

使用 if 判断一个数变量的大小:

示例

package main

import "fmt"

func main() {
/* 定义局部变量 */
var a int = 10 /* 使用 if 语句判断布尔表达式 */
if a < 20 {
/* 如果条件为 true 则执行以下语句 */
fmt.Printf("a 小于 20\n" )
}
fmt.Printf("a 的值为 : %d\n", a)
}

以上代码执行结果为:

a 小于 20
a 的值为 : 10

IF … ELSE 语句

if 语句 后可以使用可选的 else 语句, else 语句中的表达式在布尔表达式为 false 时执行。

语法

Go 编程语言中 if…else 语句的语法如下:

if 布尔表达式 {
/* 在布尔表达式为 true 时执行 */
} else {
/* 在布尔表达式为 false 时执行 */
}

If 在布尔表达式为 true 时,其后紧跟的语句块执行,如果为 false 则执行 else 语句块。

流程图如下:

示例

使用 if else 判断一个数的大小:

package main

import "fmt"

func main() {
/* 局部变量定义 */
var a int = 100; /* 判断布尔表达式 */
if a < 20 {
/* 如果条件为 true 则执行以下语句 */
fmt.Printf("a 小于 20\n" );
} else {
/* 如果条件为 false 则执行以下语句 */
fmt.Printf("a 不小于 20\n" );
}
fmt.Printf("a 的值为 : %d\n", a); }

上述代码编译执行结果为:

a 不小于 20
a 的值为 : 100

IF 嵌套语句

你可以在 if 或 else if 语句中嵌入一个或多个 if 或 else if 语句。

语法

Go 编程语言中 if…else 语句的语法如下:

if 布尔表达式 1 {
/* 在布尔表达式 1 为 true 时执行 */
if 布尔表达式 2 {
/* 在布尔表达式 2 为 true 时执行 */
}
}

你可以以同样的方式在 if 语句中嵌套 else if…else 语句

示例

嵌套使用 if 语句:

package main

import "fmt"

func main() {
/* 定义局部变量 */
var a int = 100
var b int = 200 /* 判断条件 */
if a == 100 {
/* if 条件语句为 true 执行 */
if b == 200 {
/* if 条件语句为 true 执行 */
fmt.Printf("a 的值为 100 , b 的值为 200\n" );
}
}
fmt.Printf("a 值为 : %d\n", a );
fmt.Printf("b 值为 : %d\n", b );
}

上述代码编译执行结果为:

a 的值为 100 , b 的值为 200
a 值为 : 100
b 值为 : 200

扩展阅读

最新文章

  1. $.inArray()
  2. C语言:枚举类型
  3. js 的其它运算符和优先级
  4. 上海Uber优步司机奖励政策(1月18日~1月24日)
  5. DORIS-软件网址
  6. ubuntu 安装 maven3
  7. STL 查找vector容器中的指定对象:find()与find_if()算法
  8. AngularJS 基础教程一:
  9. nefu 446 今年暑假不AC(贪心)
  10. 微信小程序 生命周期函数详解
  11. spring boot / cloud (二) 规范响应格式以及统一异常处理
  12. Linux 自动化部署DNS服务器
  13. 2019南昌邀请赛 L 计算几何 G(待补)
  14. Vmware虚拟中克隆主机没IP地址?怎么解决?
  15. Ubuntu修改系统时间
  16. 判断浏览器是否支持HTML5 video
  17. matlab练习程序(波纹扭曲)
  18. DL_1_week1_概论
  19. 【LeetCode】240. Search a 2D Matrix II
  20. react 嵌套组件的通信

热门文章

  1. python常用内置函数(转载)
  2. 解决Mybatis 报错Invalid bound statement (not found)
  3. AIApe问答机器人Scrum Meeting 5.5&amp;5.6
  4. BUAA 2020 软件工程 个人项目作业
  5. spring cloud zuul的回退
  6. DP接口中AUX
  7. Linux入门所必备的Linux命令和C语言基础
  8. SVN查看项目修改记录及修改内容
  9. cf14C Four Segments(计算几何)
  10. Django 实现分页功能(django 2.2.7 python 3.7.5 )