一、概念
函数可以让我们将一个语句序列打包为一个单元,然后可以从程序中其它地方多次调用。函数的机制可以让我们将一个大的工作分解为小的任务,这样的小任务可以让不同程序员在不同时间、不同地方独立完成。一个函数同时对用户隐藏了其实现细节。由于这些因素,对于任何编程语言来说,函数都是一个至关重要的部分。
二、函数的声明及使用
package main import ( "fmt" ) func main() { say("hello") } func say(info string) { fmt.Println("Say:", info) }
三、多返回值函数
package main import ( "fmt" ) func main() { id, name := get() fmt.Println(id, name) } func get() (int, string) { return 1, "frod" }
四、匿名函数
package main import ( "fmt" ) func main() { // 传递一个匿名函数 res := sum(func() (int, int) { return 1, 2 }) fmt.Println(res) } // 匿名函数当作函数的参数 func sum(f func() (int, int)) int { a, b := f() return a + b }
五、匿名函数-闭包函数
package main import ( "fmt" ) func main() { // sum() 内部是一个闭包函数, 闭包函数是立即执行的 res := sum(func() (int, int) { return 1, 2 }()) fmt.Println(res) } func sum(a, b int) int { return a + b }
六、匿名函数-嵌套,意义不是特别大,只是为了基础学习
package main import ( "fmt" ) func main() { res := func() int { a, b := func() (int, int) { return 1, 2 }() return a + b }() fmt.Println(res) }
七、函数-可变参数
package main import ( "fmt" ) func main() { fmt.Println(sum(1, 2, 3, 4, 5, 6)) } func sum(vals ...int) int { var sum int for v := range vals { sum += v } return sum }
有疑问加站长微信联系(非本文作者)