目前我有这样的东西
主要的go
gojob.NewJob("every 2 second", "pene", func() {
t := gojob.Custom("pene")
log.Println(t)
}, struct {
Id int
}{
1,
})
还有我的gojob套餐
func NewJob(t string, name string, c func(), v interface{}) {
e := strings.Split(t, " ")
job := process(e)
job.log = false
job.name = name
job.action = c
job.custom = v
jobs = append(jobs, job)
}
和
func Custom(name string) interface{} {
for i := range jobs {
if jobs[i].name != name {
continue
}
return jobs[i].custom
}
return nil
}
问题是,我传递给NewJob的函数在Goroutine上每隔2秒执行一次,但我想访问我传递的匿名 struct ……但是,当我try 访问
t.Id
我得到了
t、 Id未定义(类型接口{}是没有方法的接口)
但是,打印t会给出预期的结果.
{1}