[Go] 利用函数类型实现封装中的回调
2023-02-18 15:41:11 时间
当进行业务逻辑开发的时候,经常要进行封装,封装成独立的类文件,在类文件的属性中预留出函数类型的API
在调用该类文件中某些方法的时候,也根据业务需要调用类属性中的函数,
在主业务中可以传递特定的函数注册到属性中,也会被调用到
test.php
package main import "log" func main() { c := NewConn(callback, callback2) c.Start() } //在当前模块定义的回调函数 func callback() { log.Println("i am callback") } func callback2(name string) string { log.Println("i am callback2 ", name) return "hello" }
connection.go是封装的类文件,回调类主模块中的函数
package main type Connection struct{ handleFunc func() handleFunc2 func(name string)string } //把被回调函数注册进了封装类的属性中 func NewConn(callback func(),callback2 func(name string)string) *Connection{ c:=&Connection{ handleFunc: callback, handleFunc2: callback2, } return c } //在进行某些业务时也把回调函数执行了 func (c *Connection)Start(){ c.handleFunc() c.handleFunc2("taoshihan") }
相关文章
- HelloGitHub 小程序上线了,蛋只有一个搜索功能
- 制作 PPT 的新方式出现了——GitHub 热点速览 v.21.19
- 在 GitHub 学习,成长为自己想要的样子|HelloGitHub 访谈
- 学就完事了!万星项目带你做 3D 游戏——GitHub 热点速览 v.21.18
- 推荐个开源在线文档,助道友领悟 Django 之“道”
- 程序员的开源月刊《HelloGitHub》第61期
- 在 Windows 用上 Linux GUI——GitHub 热点速览 v.21.17
- 磁盘挖矿时代开启——GitHub 热点速览 v.21.16
- 定制开发——GitHub 热点速览 v.21.15
- 文字变图片——GitHub 热点速览 v.21.14
- 图片的黑魔法——GitHub 热点速览 v.21.13
- 开源项目月刊《HelloGitHub》第 60 期
- 开源的 Switch 模拟器——GitHub 热点速览 v.21.12
- 史上超强拷贝仓——GitHub 热点速览 v.21.11
- 不一样的软件们——GitHub 热点速览 v.21.10
- 小心你的个人信息——GitHub 热点速览 v.21.09
- 更新啦!第 59 期《HelloGitHub》开源月刊
- 上天的源码要不要——GitHub 热点速览 v.21.08
- 编程方式建视频——GitHub 热点速览 v.21.07
- 快速获取 Wi-Fi 密码——GitHub 热点速览 v.21.06