当前位置: 首页 > news >正文

深入了解 Golang 条件语句:if、else、else if 和嵌套 if 的实用示例

条件语句

用于根据不同的条件执行不同的操作。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 := 20y := 18if 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() {时间 := 20if 时间 < 18 {fmt.Println("白天好。")} else {fmt.Println("晚上好。")}
}

示例

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

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

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

示例

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

package main
import ("fmt")func main() {温度 := 14if 温度 > 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 mainimport ("fmt"
)func main() {time := 22if time < 10 {fmt.Println("早上好。")} else if time < 20 {fmt.Println("白天好。")} else {fmt.Println("晚上好。")}
}

结果:

晚上好。

示例解释:

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

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

另一个 else if 的示例:

package mainimport ("fmt"
)func main() {a := 14b := 14if 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 mainimport ("fmt"
)func main() {num := 20if 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,关注后即可获取最新文章推送

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

http://www.lryc.cn/news/311571.html

相关文章:

  • 大数据和机器学习在气象预报中的应用-张平文院士
  • C#高级:Winform桌面开发中DataGridView的详解
  • java八股文复习-----2024/03/05----基础---反射,动态代理。序列化
  • 【人工智能】Anthropic发布强大的Claude3对齐GPT-4,大模型杂谈个人感想
  • 基于openKylin与RISC-V的MindSpore AI项目实践
  • 【牛客】VL64 时钟切换
  • Java设计模式——桥连模式
  • 数据结构与算法:堆排序和TOP-K问题
  • 【NR 定位】3GPP NR Positioning 5G定位标准解读(三)
  • 文件操作与IO(3) 文件内容的读写——数据流
  • 《PyTorch深度学习实践》第十一讲卷积神经网络进阶
  • Ansible的playbook的编写和解析
  • [环境配置]ssh连接报错“kex_exchange_identification: read: Connection reset by peer”
  • Mybatis-Plus——04,自动填充时间(新注解)
  • 【动态规划入门】最长上升子序列
  • LabVIEW眼结膜微血管采集管理系统
  • 通过GitHub探索Python爬虫技术
  • 【Python】-----基础知识
  • 如何学习、上手点云算法(二):点云处理相关开源算法库、软件、工具
  • 为什么会对猫毛过敏?如何缓解?浮毛克星—宠物空气净化器推荐
  • Linux学习-etcdctl安装
  • Qt应用软件【文件篇】读写文件技巧
  • GO常量指针
  • 微服务间通信重构与服务治理笔记
  • unity 场景烘焙中植物叶片(单面网络)出现的白面
  • 网工内推 | 国企运维,年薪最高30W,RHCE认证优先
  • WordPress排除调用某个分类下的文章
  • Java多线程——信号量Semaphore是啥
  • L2785(Java). 将字符串中的元音字母排序
  • Android之Handler原理解析与问题分享