学习结构体方法练习
package main
import "fmt"
var event_by_name = make(map[string][]func(interface{}))
func refister_event(name string,callback func(interface{})) {
list:=event_by_name[name]
list = append(list,callback)
event_by_name[name] = list
fmt.Println(event_by_name)
}
func call_event(name string,parm interface{}) {
list := event_by_name[name]
for _,callback :=range list{
callback(parm)
}
}
type actor struct {
}
func (a *actor) on_event(parm interface{}) {
fmt.Println("actor event",parm)
}
func global_event(parm interface{}) {
fmt.Println("global_event",parm)
}
func main() {
a:=new(actor)
refister_event("on_skill",a.on_event)
refister_event("on_skill",global_event)
call_event("on_skill",100)
}