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