是否可以创建一个通用函数,该函数可以接受任何其他函数及其相关参数,这些参数可以稍后用于执行传递的函数。我有一个需求,我计划首先收集所有这些调用并维护这些“作业”的一些元数据,然后稍后通过 go 例程执行它们。// some kind of job function func someCoolJob(arg1 type1, arg2 type2) type3 { // do processing return "value of type3"}现在可以创建一个通用函数,它可以采用任何具有任何签名的函数。以前我在python中做过类似的实现,有什么办法吗?func processor(someFunc, relatedArgs){ // I will save some execution info/ tracking state for someFunc here // later I can do something like below in my code go someFunc(relatedArgs)}有没有更好的方法来组织这个?其他一些实现方式?
1 回答

慕少森
TA贡献2019条经验 获得超9个赞
通过使用闭包传递参数。
更改processor为不带参数的函数。
func processor(fn func()){
go fn()
}
使用闭包传递函数和参数:
processor(func() { someCoolJob(arg1, arg2) })
- 1 回答
- 0 关注
- 102 浏览
添加回答
举报
0/150
提交
取消