欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Golang入门到项目实战|golang高阶函数

时间:2023-04-28

go语言的函数,可以作为函数的参数,传递给另外一个函数,作为另外一个函数的返回值返回。

go语言函数作为参数

package mainimport "fmt"func sayHello(name string) { fmt.Printf("Hello,%s", name)}func f1(name string, f func(string)) { f(name)}func main() { f1("tom", sayHello)}

运行结果

[Running] go run "d:SynologyDrive软件开发gogolang入门到项目实战goproject360duote.compro01tempCodeRunnerFile.go"Hello,tom

go语言函数作为返回值

package mainimport "fmt"func add(x, y int) int { return x + y}func sub(x, y int) int { return x - y}func cal(s string) func(int, int) int { switch s { case "+": return add case "-": return sub default: return nil }}func main() { add := cal("+") r := add(1, 2) fmt.Printf("r: %vn", r) fmt.Println("-----------") sub := cal("-") r = sub(100, 50) fmt.Printf("r: %vn", r)}

运行结果

[Running] go run "d:SynologyDrive软件开发gogolang入门到项目实战goproject360duote.compro01test.go"r: 3-----------r: 50

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。