github.com/micro/go-micro/examples@v0.0.0-20210105173217-bf4ab679e18b/template/srv/main.go (about) 1 package main 2 3 import ( 4 "github.com/micro/go-micro/examples/template/srv/handler" 5 "github.com/micro/go-micro/examples/template/srv/subscriber" 6 "github.com/micro/go-micro/v2" 7 "github.com/micro/go-micro/v2/util/log" 8 9 example "github.com/micro/go-micro/examples/template/srv/proto/example" 10 ) 11 12 func main() { 13 // New Service 14 service := micro.NewService( 15 micro.Name("go.micro.srv.template"), 16 micro.Version("latest"), 17 ) 18 19 // Register Handler 20 example.RegisterExampleHandler(service.Server(), new(handler.Example)) 21 22 // Register Struct as Subscriber 23 micro.RegisterSubscriber("go.micro.srv.template", service.Server(), new(subscriber.Example)) 24 25 // Register Function as Subscriber 26 micro.RegisterSubscriber("go.micro.srv.template", service.Server(), subscriber.Handler) 27 28 // Initialise service 29 service.Init() 30 31 // Run service 32 if err := service.Run(); err != nil { 33 log.Fatal(err) 34 } 35 }