go语言控制结构简洁:if支持初始化且无括号,for统一实现各类循环,switch默认自动break并支持条件表达式,函数类型后置且天然支持多返回值。

Go 语言的控制结构和函数定义简洁直观,适合快速构建清晰、可维护的程序逻辑。掌握 if/else、for、switch 和基础函数写法,就能覆盖绝大多数日常编程需求。
条件判断:if 语句支持初始化,无需括号
Go 的 if 语句允许在条件前添加简短初始化语句,且条件表达式不加括号。这有助于限制变量作用域,提升代码安全性。
- 基本写法:
if x > 0 { ... } else if x - 带初始化:
if err := doSomething(); err != nil { return err }—— err 只在 if/else 块内有效 - 注意:else 必须与 if 的右大括号在同一行,否则编译报错
循环只有一种:for,但能模拟 while 和 for-each
Go 没有 while 或 do-while,所有循环都用 for 实现,灵活且统一。
- 传统三段式:
for i := 0; i - 类似 while:
for condition { ... }(如for len(data) > 0 { ... }) - 遍历切片或 map:
for i, v := range slice { ... }或for k := range m { ... }
多分支选择:switch 更安全、更简洁
Go 的 switch 默认自动 break,无需显式写 break;支持任意类型比较(包括字符串、结构体字段),也支持条件表达式。
立即学习“go语言免费学习笔记(深入)”;
- 值匹配:
switch mode { case "dev": ..., case "prod": ... } - 条件判断:
switch { case x 100: ... }(类似 if-else 链) - fallthrough 可手动穿透到下一个 case,但需显式写出,避免误用
函数定义:参数与返回值类型后置,支持多返回值
Go 函数声明强调“类型后置”,语法紧凑;天然支持多返回值,常用于返回结果 + 错误。
- 基本函数:
func add(a, b int) int { return a + b } - 多返回值:
func divide(a, b float64) (float64, error) { if b == 0 { return 0, errors.New("div by zero") }; return a/b, nil } - 命名返回值(可选):
func split(n int) (x, y int) { x = n/2; y = n-x; return }—— 最后的return会自动返回当前 x、y 值










