条件语句

用于根据不同的条件执行不同的操作。Go中的条件可以是真或假。Go支持数学中常见的比较运算符:

小于 <

小于等于 <=

大于 >

大于等于 >=

等于 ==

不等于 !=

此外,Go还支持常见的逻辑运算符:

逻辑与 && 逻辑或 || 逻辑非 ! 您可以使用这些运算符或它们的组合来创建不同决策的条件。

示例

尝试一下 x > y x != y (x > y) && (y > z) (x == y) || z

Go具有以下条件语句:

  • 使用if来指定在指定条件为真时执行的代码块
  • 使用else来指定在相同条件为假时执行的代码块
  • 使用else if来指定要测试的新条件,如果第一个条件为假
  • 使用switch来指定要执行的多个备选代码块

if语句

使用if语句来指定在条件为真时执行的一段Go代码。

语法

if 条件 {
// 如果条件为真,则执行的代码
}

请注意,if关键字要小写。大写字母(IfIF)会导致错误。

在下面的示例中,我们测试了两个值,以确定20是否大于18。如果条件为真,则打印一些文本:

示例

package main
import ("fmt") func main() {
if 20 > 18 {
fmt.Println("20 大于 18")
}
}

我们也可以测试变量:

示例

package main
import ("fmt") func main() {
x := 20
y := 18
if x > y {
fmt.Println("x 大于 y")
}
}

示例解释

在上面的示例中,我们使用了两个变量xy,测试x是否大于y(使用>运算符)。由于x为20,y为18,我们知道20大于18,所以我们打印出"x 大于 y"。

else语句

使用else语句来指定在条件为假时执行的一段代码。

语法

if 条件 {
// 如果条件为真,则执行的代码
} else {
// 如果条件为假,则执行的代码
}

使用if else语句的示例:

示例

在此示例中,时间(20)大于18,因此if条件为假。因此,我们转而执行else条件,并在屏幕上打印"晚上好"。如果时间小于18,程序将打印"白天好":

package main
import ("fmt") func main() {
时间 := 20
if 时间 < 18 {
fmt.Println("白天好。")
} else {
fmt.Println("晚上好。")
}
}

示例

在此示例中,温度为14,因此if的条件为假,因此执行else语句中的代码行:

package main
import ("fmt") func main() {
温度 := 14
if 温度 > 15 {
fmt.Println("外面温暖。")
} else {
fmt.Println("外面寒冷。")
}
}

else语句中的括号应该像} else {这样写:

示例

else的括号放在不同的行会引发错误:

package main
import ("fmt") func main() {
温度 := 14
if 温度 > 15 {
fmt.Println("外面温暖。")
} // 这将引发错误
else {
fmt.Println("外面寒冷。")
}
}

结果:

./prog.go:9:3: 语法错误:意外的 else,期望 }

else if 语句

使用 else if 语句在第一个条件为假时指定新条件。

语法:

if 条件1 {
// 如果条件1为真时执行的代码
} else if 条件2 {
// 如果条件1为假且条件2为真时执行的代码
} else {
// 如果条件1和条件2都为假时执行的代码
}

使用 else if 语句的示例:

package main

import (
"fmt"
) func main() {
time := 22
if time < 10 {
fmt.Println("早上好。")
} else if time < 20 {
fmt.Println("白天好。")
} else {
fmt.Println("晚上好。")
}
}

结果:

晚上好。

示例解释:

在上面的示例中,时间(22)大于10,因此第一个条件为假。接下来,在 else if 语句中的下一个条件也为假,因此我们转向 else 条件,因为条件1和条件2都为假,所以输出屏幕上显示 "晚上好"。

但是,如果时间为14,我们的程序将打印 "白天好"。

另一个 else if 的示例:

package main

import (
"fmt"
) func main() {
a := 14
b := 14
if a < b {
fmt.Println("a 小于 b。")
} else if a > b {
fmt.Println("a 大于 b 。")
} else {
fmt.Println("a 和 b 相等。")
}
}

结果:

a 和 b 相等。

注意:

如果条件1和条件2都为真,则仅执行条件1的代码。

嵌套的 if 语句

您可以在 if 语句内部使用 if 语句,这称为嵌套的 if

语法:

if 条件1 {
// 如果条件1为真时执行的代码
if 条件2 {
// 如果条件1和条件2都为真时执行的代码
}
} else {
// 如果条件1为假时执行的代码
}

嵌套 if 语句的示例:

package main

import (
"fmt"
) func main() {
num := 20
if num >= 10 {
fmt.Println("Num 大于等于 10。")
if num > 15 {
fmt.Println("Num 也大于 15。")
}
} else {
fmt.Println("Num 小于 10。")
}
}

结果:

Num 大于等于 10。
Num 也大于 15。

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 **点赞、收藏、关注**

深入了解 Golang 条件语句:if、else、else if 和嵌套 if 的实用示例的更多相关文章

  1. golang 条件语句 for range 分析

    for range 作为 golang中的语法糖提供了便利操作; 对于for range 支持 的数据类型包含: 数组以及指向数组的指针 切片 字典 通道 字符串 在range的语法糖中提供了一下特殊 ...

  2. Golang基础(2):Go条件语句、switch和循环语句

    一:Go条件语句 package main import "fmt" //========go条件判断语句=== func main() { { fmt.Println(" ...

  3. Golang switch语句总结

    switch 语句基本结构 switch 条件表达式 { case 常量表达式1: 语句 1 case 常量表达式2: 语句 2 . . . case 常量表达式n: 语句 n default: 语句 ...

  4. GO语言的基本语法之变量,常量,条件语句,循环语句

    GO语言的基本语法之变量,常量,条件语句,循环语句 作为慕课网得笔记自己看 定义变量: 使用var关键字 var a, b, C bool var s1, s2 string = "hell ...

  5. Python —条件语句

    条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和非空(null ...

  6. php简写表达式,&& or || 缩写条件语句

    有时候学的多了, 好多小细节 都忘了 ,比如 简单的表达式, 三元表达式   ?:; $aa or $bb 表达式 等等! 写一些简单的表达式,备忘! php用&&和||缩写条件语句 ...

  7. java中的条件语句(if、if...else、多重if、嵌套if)

    Java条件语句之 if 生活中,我们经常需要先做判断,然后才决定是否要做某件事情.例如,如果考试成绩大于 90 分,则奖励一个 IPHONE 5S .对于这种"需要先判断条件,条件满足后才 ...

  8. javascript语句——条件语句、循环语句和跳转语句

    × 目录 [1]条件语句 [2]循环语句 [3]跳转语句 前面的话 默认情况下,javascript解释器依照语句的编写顺序依次执行.而javascript中的很多语句可以改变语句的默认执行顺序.本文 ...

  9. go语言条件语句 if else

    示例: if a < 5 { return 0 } else { return 1 } 关于条件语句,需要注意以下几点:  条件语句不需要使用括号将条件包含起来():  无论语句体内有几条语 ...

  10. Todd's Matlab讲义第4讲:控制误差和条件语句

    误差和残量 数值求解方程\(f(x)=0\)的根,有多种方法测算结果的近似程度.最直接的方法是计算误差.第\(n\)步迭代结果与真值\(x^\*\)的差即为第\(n\)步迭代的误差: \begin{e ...

随机推荐

  1. 【Azure 服务总线】查看Service Bus中消息多次发送的日志信息,消息是否被重复消费

    问题描述 使用Service Bus,发现消息被重复消费.如果要查看某一条消息的具体消费情况,需要那些消息的属性呢? 问题解答 使用Azure Service Bus,当消费发送到服务端后,就会生产相 ...

  2. 浅入kubernetes(3):namespace、node、pod

    目前已经完成三篇关于 kubernetes 的文章: 在 Ubuntu 上安装 K8S教程 浅入kubernetes(1):Kubernetes 入门基础 浅入kubernetes(2):Kubern ...

  3. Nebula Graph 源码解读系列 | Vol.02 详解 Validator

    整体架构 Nebula Graph Query Engine 主要分为四个模块,分别是 Parser.Validator.Optimizer 和 Executor. Parser 完成对语句的词法语法 ...

  4. BeanShell Sample 如何使用?

    一 引入: eanShell Sample主要用于生成一些逻辑复杂的数据,例如用于加解密数据: **每次调用前重置bsh.Interpreter:每个BeanShell副本都有自己的解释器副本(每个线 ...

  5. cpu过高什么原因?怎么排查?

    运行大型程序或应用程序:当计算机运行大型程序或应用程序时,CPU需要处理更多的数据和指令,因此CPU占用率会相应地增加. 病毒或恶意软件:某些病毒或恶意软件会占用计算机的CPU资源来执行恶意任务,例如 ...

  6. python使用selenium适配谷歌浏览器插件, chromedriver与chrome各版本及下载地址

    python selenium使用,需要谷歌chromedriver.exe插件 chromedriver.exe插件是放在python的安装目录下(亲测,其它的都不对) 以下是chromedrive ...

  7. 内存缓存 Gcache VS Caffeine源码详解

    转一篇.后续再尝试自己实践一下

  8. 油猴脚本 - dicts.cn 单词自动跳转 双核浏览器可用

    跳转格式 http://www.dicts.cn/?w=blight 20230605 更新 // ==UserScript== // @name dicts.cn 单词自动跳转 双核浏览器可用 // ...

  9. Chrome Audio Capture - 录音插件 功能很简单,就是点击录音 文本转语音用

    Chrome Audio Capture - 录音插件 功能很简单,就是点击录音 文本转语音用

  10. SQL语句之基础增删改查

    目录 插入:NSERT INTO 语句 删除:DELETE 语句 更新:UPDATE 语句 选择 SELECT 语句 SELECT DISTINCT 语句 相关子句.运算符.关键字 WHERE 子句 ...