3
有得
目前林这样Golang类型的接口{}是没有方法
main.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是beeing执行上的goroutine每2秒,但我要访问的匿名结构我过去了......但是当我尝试访问
t.Id
即时得到
t.Id未定义(类型接口{}是接口与没有方法)
然而印刷吨给我的预期ř esult
{1}
对不起鸡蛋里挑骨头,但你的意思[“类型断言”(http://golang.org/ref/spec#Type_assertions)(因为“铸造”可能意味着不同的东西) – JimB
@JimB你100%正确,我会更新它。 – OneOfOne