Go语言学习笔记——(五)流程控制

本文详细介绍了编程中的条件语句(包括if、if...else、嵌套、switch和select),以及循环语句(如for循环、嵌套和控制结构)。内容涵盖了基本语法和流程图示例。
摘要由CSDN通过智能技术生成

目录

一、条件语句

(1)if语句

(2)if...else语句

(3)if嵌套语句

(4)switch语句

(5)select语句

二、循环语句

(1)for循环

(2)循环嵌套

(3)循环控制语句


一、条件语句

(1)if语句

基本语法:

if 条件表达式 {
   // 条件表达式为 true 时执行
}

ps:条件表达式左右的()可以不写,也建议不写

ps:if和表达式中间,一定要有空格

ps:在Go中,即使代码只有一行,也有加{}

流程图:

实例: 

func main() {
	var count int = 20

	if count < 30 {
		fmt.Println("容量不足!")
	}

	if count2 := 5; count2 < 30 {
		fmt.Println("容量不足!")
	}
}

(2)if...else语句

基本语法:

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

实例:

func main() {
    score := 85

    if score >= 90 {
        fmt.Println("优秀")
    } else if score >= 80 {
        fmt.Println("良好")
    } else if score >= 60 {
        fmt.Println("及格")
    } else {
        fmt.Println("不及格")
    }
}

(3)if嵌套语句

基本语法:

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

实例:

func main() {
    num := 50

    if num >= 0 {
        if num < 10 {
            fmt.Println("0 到 9 之间")
        } else if num < 20 {
            fmt.Println("10 到 19 之间")
        } else if num < 30 {
            fmt.Println("20 到 29 之间")
        } else if num < 40 {
            fmt.Println("30 到 39 之间")
        } else if num < 50 {
            fmt.Println("40 到 49 之间")
        } else {
            fmt.Println("50 及以上")
        }
    } else {
        fmt.Println("负数")
    }
}

(4)switch语句

基本语法:

switch var1 { 
    case val1:
        // 执行分支 1
    case val2:
        // 执行分支 2
    // 可以有更多的 case 语句
    default:
        // 执行默认分支 
}

实例:

func main() {
    // 基本的整数类型 switch
    num := 2
    switch num {
    case 1:
        fmt.Println("数字是 1")
    case 2:
        fmt.Println("数字是 2")
    case 3:
        fmt.Println("数字是 3")
    default:
        fmt.Println("其他数字")
    }

    // 字符串类型 switch
    str := "apple"
    switch str {
    case "apple":
        fmt.Println("水果是苹果")
    case "banana":
        fmt.Println("水果是香蕉")
    case "orange":
        fmt.Println("水果是橙子")
    default:
        fmt.Println("其他水果")
    }

    // 布尔类型 switch
    isTrue := true
    switch isTrue {
    case true:
        fmt.Println("是真")
    case false:
        fmt.Println("是假")
    }

    // 接口类型 switch
    var i interface{}
    i = 10
    switch i.(type) {
    case int:
        fmt.Println("接口存储的是整数")
    case string:
        fmt.Println("接口存储的是字符串")
    default:
        fmt.Println("其他类型")
    }

    // 多个值的 case
    day := 5
    switch day {
    case 1, 2, 3, 4, 5:
        fmt.Println("工作日")
    case 6, 7:
        fmt.Println("休息日")
    default:
        fmt.Println("无效的日期")
    }

    // 无表达式的 switch
    value := 50
    switch {
    case value < 20:
        fmt.Println("值小于 20")
    case value >= 20 && value < 40:
        fmt.Println("值在 20 到 40 之间")
    case value >= 40:
        fmt.Println("值大于等于 40")
    }
}

在 Go 语言中,switch 语句可以支持多种数据类型,包括但不限于以下几种:

  1. 整数类型,如 int 、 uint 、 int8 、 uint8 、 int16 、 uint16 、 int32 、 uint32 、 int64 、 uint64 。

  2. 浮点数类型,如 float32 、 float64 。

  3. 字符串类型 string 。

  4. 布尔类型 bool 。

  5. 接口类型。

  6. 自定义类型。

注意:

ps:case后面不需要带break

ps:default语句不是必须的,位置也是不固定的

(5)select语句

二、循环语句

(1)for循环

(2)循环嵌套

(3)循环控制语句

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值