自学内容网 自学内容网

15分钟学Go 第7天:控制结构 - 条件语句

第7天:控制结构 - 条件语句

在Go语言中,控制结构是程序逻辑的重要组成部分。通过条件语句,我们可以根据不同的条件采取不同的行动。今天我们将详细探讨Go语言中的两种主要条件结构:if语句和switch语句。理解这些控制结构对于编写有效、可读的代码至关重要。

1. if 语句

if语句用于根据条件的真假来决定是否执行代码块。它是最常用的条件语句,结构简单直观。

1.1 if 语句的基本结构

if condition {
    // 当条件为真时执行的代码
}

1.2 if-else 语句

if语句后可以跟一个 else 语句,以便处理条件为假时的情况。

if condition {
    // 当条件为真时执行的代码
} else {
    // 当条件为假时执行的代码
}

1.3 if-else if-else 语句

可以使用多个 else if 构造来处理多个条件。

if condition1 {
    // 当条件1为真时执行的代码
} else if condition2 {
    // 当条件2为真时执行的代码
} else {
    // 所有条件均为假时执行的代码
}

1.4 示例代码

让我们看一个简单的示例,根据用户的年龄输出不同的内容。

package main

import "fmt"

func main() {
    var age int
    fmt.Print("请输入年龄: ")
    fmt.Scan(&age)

    if age < 18 {
        fmt.Println("未成年")
    } else if age >= 18 && age < 65 {
        fmt.Println("成年人")
    } else {
        fmt.Println("老年人")
    }
}

1.5 代码执行流程

Yes
No
Yes
No
开始
用户输入年龄
判断 age < 18
输出: 未成年
判断 age >= 18 && age < 65
输出: 成年人
输出: 老年人
结束

2. switch 语句

switch语句是另一种控制结构,可以在多个条件间进行选择,特别适合于多个可能性相对独立的情况。

2.1 switch 语句的基本结构

switch expression {
case value1:
    // 当expression等于value1时执行的代码
case value2:
    // 当expression等于value2时执行的代码
default:
    // expression不匹配任何case时执行的代码
}

2.2 switch 不需要 break

Go语言的switch语句隐式地在每个case执行完后自动跳出,因此不需要显示设置break

2.3 示例代码

以下是一个简单的例子,根据输入的星期几输出相应的星期名称。

package main

import "fmt"

func main() {
    var day int
    fmt.Print("请输入星期几(1-7): ")
    fmt.Scan(&day)

    switch day {
    case 1:
        fmt.Println("星期一")
    case 2:
        fmt.Println("星期二")
    case 3:
        fmt.Println("星期三")
    case 4:
        fmt.Println("星期四")
    case 5:
        fmt.Println("星期五")
    case 6:
        fmt.Println("星期六")
    case 7:
        fmt.Println("星期天")
    default:
        fmt.Println("输入无效,请输入1到7之间的数字")
    }
}

2.4 代码执行流程

Yes
No
Yes
No
Yes
No
Yes
No
Yes
No
Yes
No
Yes
No
开始
用户输入星期几
判断 day == 1
输出: 星期一
判断 day == 2
输出: 星期二
判断 day == 3
输出: 星期三
判断 day == 4
输出: 星期四
判断 day == 5
输出: 星期五
判断 day == 6
输出: 星期六
判断 day == 7
输出: 星期天
输出: 输入无效
结束

3. switch 的高级用法

3.1 表达式 switch

switch语句的表达式可以是任意类型。

switch day := 5; day {
case 1, 2, 3:
    fmt.Println("周中的日子")
case 4, 5, 6:
    fmt.Println("快到周末了")
case 7:
    fmt.Println("周日")
default:
    fmt.Println("无效的输入")
}

3.2 基于条件的 switch

switch语句也可以没有表达式,直接使用条件判断。

switch {
case age < 18:
    fmt.Println("未成年人")
case age < 65:
    fmt.Println("成年人")
default:
    fmt.Println("老年人")
}

4. 注意事项

  • if语句经常需要手动管理条件,而switch则简化了多个条件的检查。
  • 在使用switch时,可以避免使用break,这让代码更加简洁。
  • 尽管switch可以处理很多情况,但在条件较少时,简单的if通常更合适。

5. 练习题

  1. 编写一个程序,根据用户输入的分数判断等级(优、良、中、及格、差)。
  2. 创建一个程序使用switch语句来显示输入月份的天数。
  3. 编写一个程序,使用条件判断确定一个数字是奇数还是偶数,并输出相应的信息。

6. 总结

在本章中,我们探讨了Go语言中的条件语句,重点介绍了ifswitch的用法。通过示例和流程图,我们深入理解了如何根据不同条件做出决策,同时也讨论了各种使用场景。掌握这些控制结构将为我们后续的学习打下坚实的基础。

附加资源


怎么样今天的内容还满意吗?再次感谢观众老爷的观看,关注下方GZH,回复666,送您价值199的AI大礼包。最后,祝您早日实现财务自由,还请给个赞,谢谢!
在这里插入图片描述


原文地址:https://blog.csdn.net/weixin_40780178/article/details/143065991

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!