以Google wire为例,我们可以通过以下方式初始化事件 struct
留言:对不起.
type Message string
func NewMessage() Message {
//TBD
}
Event.go
func NewEvent(g Message ) Event {
return Event{Message : g}
}
type Event struct {
Message message
}
func (e Event) Start() {
fmt.Println(msg)
}
我们可以通过有线方式进行初始化:
func main() {
e := InitializeEvent()
e.Start()
}
func InitializeEvent() Event {
wire.Build(NewEvent, NewMessage)
return Event{}
}
有没有办法使用init函数返回多个值,但我们只需要一个返回值来注入,例如:
func NewMessage() (Message,err或 ){
//TBD
}
或
func NewMessage() (Message,Greeter) {
//TBD
}