[Go] 利用函数类型实现封装中的回调
发布时间:2021-05-21 06:47:01 所属栏目:大数据 来源: https://www.jb51.cc
导读:当进行业务逻辑开发的时候,经常要进行封装,封装成独立的类文件,在类文件的属性中预留出函数类型的API 在调用该类文件中某些方法的时候,也根据业务需要调用类属性中的函数, 在主业务中可以传递特定的函数注册到属性中,也会被调用到 test.PHP? package m
当进行业务逻辑开发的时候,经常要进行封装,封装成独立的类文件,在类文件的属性中预留出函数类型的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) } 把被回调函数注册进了封装类的属性中 func NewConn(callback func(),callback2 func(name string) *Connection{ c:=&Connection{ handleFunc: callback,handleFunc2: callback2,} return c } 在进行某些业务时也把回调函数执行了 func (c *Connection)Start(){ c.handleFunc() c.handleFunc2(taoshihan) } ? (编辑:北几岛) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |