为了清楚起见,删除了大部分代码以更多地关注问题。我有一个使用以下代码go-micro调用的服务器文件:main.gopackage mainimport ( "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 mainimport ( "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}我应该如何SRVService访问main.go?
1 回答
慕村225694
TA贡献1880条经验 获得超4个赞
如果它们位于同一文件夹中,则它们是同一包的一部分(它们的包声明必须反映这一点)。如果它们是同一包的一部分,则无需导入任何内容。您可以引用包中的所有标识符(导出或未导出)。
不过这个main
包很特别。如果您的main
包由多个文件组成,则必须在运行或构建应用程序时列出所有文件,例如:
go run srv_service.go main.go
- 1 回答
- 0 关注
- 94 浏览
添加回答
举报
0/150
提交
取消