写点什么

Go 条件

作者:小万哥
  • 2023-09-03
    广东
  • 本文字数:1959 字

    阅读完需:约 6 分钟

Go 条件

条件语句用于根据不同的条件执行不同的操作。


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 关键字要小写。大写字母(If 或 IF)会导致错误。


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


示例


package mainimport ("fmt")
func main() { if 20 > 18 { fmt.Println("20 大于 18") }}
复制代码


我们也可以测试变量:


示例


package mainimport ("fmt")
func main() { x := 20 y := 18 if x > y { fmt.Println("x 大于 y") }}
复制代码


示例解释


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

else 语句

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


语法


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


使用 if else 语句的示例:


示例


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


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


示例


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


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


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


示例


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


package mainimport ("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知乎开源中国CSDN思否掘金InfoQ简书博客园慕课51CTOhelloworld腾讯开发者社区阿里开发者社区


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

发布于: 刚刚阅读数: 4
用户头像

小万哥

关注

代码如人生 2023-02-09 加入

编程爱好者

评论

发布
暂无评论
Go 条件_Go_小万哥_InfoQ写作社区