Mengikuti contoh googlewire, kita boleh memulakan struktur acara dengan cara berikut
message.go:
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) }
Kita boleh mulakan melalui talian:
func main() { e := initializeevent() e.start() } func initializeevent() event { wire.build(newevent, newmessage) return event{} }
Adakah terdapat cara untuk menjadikan fungsi init mengembalikan berbilang nilai, tetapi kita hanya memerlukan satu nilai pulangan untuk menyuntik, sebagai contoh:
func newmessage() (message,error ){ //tbd }
atau
func NewMessage() (Message,Greeter) { //TBD }
Untuk mengisytiharkan fungsi dengan berbilang nilai pulangan, anda perlu meletakkannya dalam kurungan:
func NewMessage() (Message, error) { return Message(“TBD”), nil }
EDIT: Soalan anda (adakah mungkin untuk mengembalikan ralat daripada fungsi init) akan dijawab dalam bahagian seterusnya tutorial wayar - https://github.com/google/wire/tree/main/_tutorial #membuat- perubahan - dengan garisan
Atas ialah kandungan terperinci Kawat google Inject dengan beberapa pulangan fungsi pembekal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!