求助:关于参数为interface的函数指针传递

redunit · 2020-03-05 12:35:09 · 1750 次点击

亲,请使用markdown格式化你的代码. 否则看不懂而且缺东西?

#1
更多评论
package main

import "fmt"

type task struct {
    f func(i interface{})
}

func (t *task) run() *task {
    return &task{
        f: func(i interface{}) {
            fmt.Println(i)
        },
    }
}

func allType() *task {
    return &task{
        f: func(i interface{}) {
            fmt.Println(i)
        },
    }
}

func main() {
    a := allType()
    a.f("aaa")
    var b task
    b1 := b.run()
    b1.f("bbb")

}

是不是就是想简单实现这个??

#2

@daiyudong 谢谢回复 我是想把处理函数传进去,每个Task有不同的处理函数。

#3