【发布时间】:2019-12-06 18:56:03
【问题描述】:
为了清楚起见,大部分代码已被删除,以便更多地关注问题。我有一个名为main.go 的go-micro 服务器文件,代码如下:
package main
import (
"fmt"
"strings"
"github.com/micro/go-micro"
"github.com/micro/go-micro/server"
proto "mypkg/proto"
)
const serviceName = "SRV"
func main() {
service := micro.NewService(
micro.Name(strings.ToLower(serviceName)),
micro.Server(
server.NewServer(
server.Name(strings.ToLower(serviceName))
),
),
)
service.Init()
if err := proto.RegisterSRVServiceHandler(service.Server(), new(SRVService)); err != nil {
panic(err)
}
if err := service.Run(); err != nil {
panic(err)
}
}
SRVService 位于另一个名为 srv_service.go 的文件中(具有相同的包名),我不知道如何导入它:
package main
import (
"context"
proto "mypkg/proto"
)
type SRVService struct{}
func (g *SRVService) AddUser(ctx context.Context, req *proto.AddUserRequest, rsp *proto.AddUserResponse) error {
rsp.UserId = "12312331231"
return nil
}
我应该如何在main.go 中访问SRVService?
【问题讨论】:
标签: go interface grpc go-micro