⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

Go 函数进阶

多返回值、命名返回值、可变参数、函数类型、闭包 · 难度:进阶 · +20XP

Go 函数进阶特性

多返回值

func divide(a, b float64) (float64, error) {
    if b == 0 { return 0, errors.New("div by zero") }
    return a / b, nil
}
result, err := divide(10, 2)

命名返回值

func split(sum int) (x, y int) {
    x = sum * 4 / 9
    y = sum - x
    return  // 裸返回(naked return),只在短函数中用
}

可变参数

func sum(nums ...int) int {
    total := 0
    for _, n := range nums { total += n }
    return total
}
sum(1, 2, 3, 4, 5)  // 15
// 展开切片传入
nums := []int{1, 2, 3}
sum(nums...)

函数类型与闭包

type Operation func(int, int) int
var add Operation = func(a, b int) int { return a + b }

// 闭包:捕获外部变量 func adder() func(int) int { sum := 0 return func(x int) int { sum += x; return sum } }

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 142 篇
0 完成
🔥 0