package main import ( "foo/handler" "foo/subscriber" "github.com/micro/go-micro" "github.com/micro/go-micro/util/log" foo "foo/proto/foo" ) func main() { // New Service service := micro.NewService( micro.Name("go.micro.srv.foo"), micro.Version("latest"), ) // Initialise service service.Init() // Register Handler foo.RegisterFooHandler(service.Server(), new(handler.Foo)) // Register Struct as Subscriber micro.RegisterSubscriber("go.micro.srv.foo", service.Server(), new(subscriber.Foo)) // Register Function as Subscriber micro.RegisterSubscriber("go.micro.srv.foo", service.Server(), subscriber.Handler) // Run service if err := service.Run(); err != nil { log.Fatal(err) } }