猿问

Golang type interface {} 是没有方法的接口

目前我有这样的事情


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 的函数在 goroutine 上每 2 秒执行一次,但我想访问我传递的匿名结构......但是当我尝试访问时


t.Id


我越来越


t.Id 未定义(类型 interface {} 是没有方法的接口)


但是打印 t 给了我预期的结果


{1}


不负相思意
浏览 191回答 1
1回答
随时随地看视频慕课网APP

相关分类

Go
我要回答