為了清楚起見(jiàn),刪除了大部分代碼以更多地關(guān)注問(wèn)題。我有一個(gè)使用以下代碼go-micro調(diào)用的服務(wù)器文件: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在另一個(gè)名為srv_service.go(具有相同包名)的文件中,我不知道如何導(dǎo)入它: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}我應(yīng)該如何SRVService訪(fǎng)問(wèn)main.go?
1 回答

慕村225694
TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個(gè)贊
如果它們位于同一文件夾中,則它們是同一包的一部分(它們的包聲明必須反映這一點(diǎn))。如果它們是同一包的一部分,則無(wú)需導(dǎo)入任何內(nèi)容。您可以引用包中的所有標(biāo)識(shí)符(導(dǎo)出或未導(dǎo)出)。
不過(guò)這個(gè)main
包很特別。如果您的main
包由多個(gè)文件組成,則必須在運(yùn)行或構(gòu)建應(yīng)用程序時(shí)列出所有文件,例如:
go run srv_service.go main.go
- 1 回答
- 0 關(guān)注
- 144 瀏覽
添加回答
舉報(bào)
0/150
提交
取消