Golang入门到项目实战 | golang高阶函数
Posted 一个热爱编程的通信人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang入门到项目实战 | golang高阶函数相关的知识,希望对你有一定的参考价值。
go语言的函数,可以作为函数的参数,传递给另外一个函数,作为另外一个函数的返回值返回。
go语言函数作为参数
package main
import "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\\软件开发\\go\\golang入门到项目实战\\goproject\\360duote.com\\pro01\\tempCodeRunnerFile.go"
Hello,tom
go语言函数作为返回值
package main
import "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: %v\\n", r)
fmt.Println("-----------")
sub := cal("-")
r = sub(100, 50)
fmt.Printf("r: %v\\n", r)
运行结果
[Running] go run "d:\\SynologyDrive\\软件开发\\go\\golang入门到项目实战\\goproject\\360duote.com\\pro01\\test.go"
r: 3
-----------
r: 50
以上是关于Golang入门到项目实战 | golang高阶函数的主要内容,如果未能解决你的问题,请参考以下文章