Go 语言控制结构

发布于:2024-12-06 ⋅ 阅读:(122) ⋅ 点赞:(0)

Go 语言提供了丰富的控制结构,用于实现各种条件判断和循环逻辑。以下是 Go 语言中常用的控制结构及其用法。


1. 条件判断

if 语句

if 语句用于判断条件是否为 true,并根据结果执行代码块。

语法

if 条件 {
    // 如果条件为真,执行此代码块
}

示例代码

package main

import "fmt"

func main() {
    age := 20
    if age >= 18 {
        fmt.Println("成年人")
    }
}

if...else 语句

if...else 语句用于在条件为假时执行其他代码。

语法

if 条件 {
    // 条件为真时执行
} else {
    // 条件为假时执行
}

示例代码

package main

import "fmt"

func main() {
    age := 16
    if age >= 18 {
        fmt.Println("成年人")
    } else {
        fmt.Println("未成年人")
    }
}

if...else if...else 语句

当有多个条件时,可以使用 else if

语法

if 条件1 {
    // 条件1为真时执行
} else if 条件2 {
    // 条件2为真时执行
} else {
    // 上述条件都为假时执行
}

示例代码

package main

import "fmt"

func main() {
    score := 85
    if score >= 90 {
        fmt.Println("优秀")
    } else if score >= 60 {
        fmt.Println("及格")
    } else {
        fmt.Println("不及格")
    }
}

switch 语句

switch 语句用于替代多个 if...else,使代码更简洁。

语法

switch 变量 {
case 值1:
    // 当变量等于值1时执行
case 值2:
    // 当变量等于值2时执行
default:
    // 以上条件都不满足时执行
}

示例代码

package main

import "fmt"

func main() {
    day := "Monday"
    switch day {
    case "Monday", "Tuesday", "Wednesday", "Thursday", "Friday":
        fmt.Println("工作日")
    case "Saturday", "Sunday":
        fmt.Println("周末")
    default:
        fmt.Println("未知日期")
    }
}

特点

  • 支持多个条件(如 case "Monday", "Tuesday")。
  • switch 语句默认不需要 break,每个 case 执行完后会自动退出。

2. 循环结构

for 循环

for 是 Go 语言中唯一的循环结构。它可以实现其他语言中的 while 和 do...while


基本 for 循环

语法

for 初始化语句; 条件语句; 后置语句 {
    // 循环体
}

示例代码

package main

import "fmt"

func main() {
    for i := 1; i <= 5; i++ {
        fmt.Println("第", i, "次循环")
    }
}

省略初始化和后置语句

如果无需初始化和后置语句,可以省略它们。

语法

for 条件语句 {
    // 循环体
}

示例代码

package main

import "fmt"

func main() {
    count := 1
    for count <= 5 {
        fmt.Println("循环次数:", count)
        count++
    }
}

无限循环

当省略所有语句时,for 变成一个无限循环。

语法

for {
    // 无限循环
}

示例代码

package main

import "fmt"

func main() {
    for {
        fmt.Println("我是无限循环,按 Ctrl+C 退出")
    }
}

break 和 continue
break 语句

break 用于终止当前循环。

示例代码

package main

import "fmt"

func main() {
    for i := 1; i <= 10; i++ {
        if i == 5 {
            break // 循环在 i == 5 时结束
        }
        fmt.Println(i)
    }
}

continue 语句

continue 用于跳过当前循环的剩余部分,直接进入下一次循环。

示例代码

package main

import "fmt"

func main() {
    for i := 1; i <= 10; i++ {
        if i%2 == 0 {
            continue // 跳过偶数
        }
        fmt.Println(i)
    }
}

总结

  • 条件判断
    • 使用 if 和 switch 实现多种条件逻辑。
    • switch 语法简洁,适合处理多个条件分支。
  • 循环结构
    • for 是 Go 中唯一的循环结构,可以实现其他语言中的各种循环功能。
    • 配合 break 和 continue 实现更灵活的循环控制。

通过以上控制结构,Go 程序可以实现丰富的业务逻辑,掌握这些基础语法是深入学习的第一步。


网站公告

今日签到

点亮在社区的每一天
去签到