一、条件语句
1.1 if 语句
Go 的 if 语句无需括号包围条件表达式,但花括号是必须的:
package main
import (
"fmt"
"os"
"runtime"
)
func main() {
// 基本形式
x := 10
if x > 5 {
fmt.Println("x 大于 5")
}
// if-else
if x%2 == 0 {
fmt.Println("x 是偶数")
} else {
fmt.Println("x 是奇数")
}
// if-else if-else
score := 85
if score >= 90 {
fmt.Println("优秀")
} else if score >= 80 {
fmt.Println("良好")
} else if score >= 60 {
fmt.Println("及格")
} else {
fmt.Println("不及格")
}
// ========== if 简短语句(Go 特有)==========
// 可以在条件之前执行一个简单语句
// 该语句声明的变量只在 if 块内可用
if err := doSomething(); err != nil {
fmt.Println("操作失败:", err)
return
}
// 常见的错误处理模式
if data, err := os.ReadFile("/etc/hostname"); err != nil {
fmt.Println("读取失败:", err)
} else {
fmt.Printf("主机名: %s", data)
}
// 运维场景:系统检查
if mem := runtime.MemStats{}; true {
runtime.ReadMemStats(&mem)
allocMB := float64(mem.Alloc) / 1024 / 1024
if allocMB > 100 {
fmt.Printf("警告: 内存使用 %.2f MB\n", allocMB)
}
}
}
func doSomething() error {
return nil
}
2026/3/20大约 14 分钟