GO 函数 回调(阻塞式)

理解什么是回调请参考:https://www.zhihu.com/question/19801131/answer/27459821
再实现函数回调之前需要先阐述一下一个知识点 function type,官方的解释如下:

A function type denotes the set of all functions with the same parameter and result types. The value of an uninitialized variable of function type is nil.

Go支持函数回调,你可以把函数名称作为参数传递给另外一个函数,然后在别的地方实现这个函数。

package main
import "fmt"
type Callback func(x, y int) int

func main() {
    x, y := 1, 2
        result = double_add(x, y, add)
    fmt.Println(result)
}

//提供一个接口,让外部去实现
func double_add(x, y int, callback Callback) int {
    return callback(x, y) * 2
}

func add(x, y int) int {
    return x + y
}

运行结果

6
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 标签(空格分隔): 编程 Go官方文档 Using the tour 1.1 Hello, 世界 Welcome...
    uangianlap阅读 5,434评论 0 5
  • 道不同不相为谋,爱情如是。—题记 开始时,你伸出手说,我爱你,跟我一起走吧。然后你就大步流星的往前走,我在原地踌躇...
    疯子逸阅读 5,396评论 1 6
  • 《布洛克的小说学堂》听书笔记: 这是一本指导你如何成为一个成功小说家的书。极有指导性和实践性,影响着世界上无数的小...
    千年白果树阅读 3,959评论 0 1
  • 1、为什么平胸妹子一般都是吃货? 神回复:因为穷胸极饿! 2、别人的孩子都会买手纸了,我的孩子还在手纸上。 神回复...
    别叫我帅哥我怕有人嫉妒阅读 1,033评论 0 1
  • 总是不想回首,却总是不经意间的回首。而回首,便是一场心酸的梦,是回不去的一种纠结与疼痛。痴痴于惘然中,愣是将一份岁...
    幽若兰馨阅读 3,474评论 0 0