我在GitHub下有一个项目,我在我的机器上本地工作。 以下是项目的结构
.weather:
- weather-service.go
- darksky-provider.go
.grpc-weather:
- weather.proto
server.go
server.go文件完成如下:
import (
pb "github.com/scayetanot/weather_service_go/grpc_weather"
"net"
"log"
"golang.org/x/net/context"
"google.golang.org/grpc"
"google.golang.org/grpc/reflection"
weather "github.com/scayetanot/weather_service_go/weather"
)
//Default configuration port
const (
port = ":50051"
)
type server struct{}
// implementation of the interface with Server
func (s *server) GetWeather(ctx context.Context, in *pb.GetFromPlaceRequest) (*pb.GetFromPlaceReply, error) {
log.Print("Retrieve data from weather service")
forecast, err := weather.get_weather(ctx, in.Place, in.Date)
if err != nil {
log.Fatalf("failed to retrieve weather: %v", err)
}
log.Print("Reply weather to client")
return &pb.GetFromPlaceReply{Weather: forecast}, nil
}
函数get_weather显示为undefined但我导入了pkg
weather "github.com/scayetanot/weather_service_go/weather"
但它还在抱怨。但它适用于名为" pb"
的导入即使导入完成,也看不到任何关于func的想法?本地我运行go get github ..让我的项目在本地
您可以查看https://github.com/scayetanot/weather_service_go查看套餐天气和文件weather-service.go
欢迎任何想法或帮助
此致
答案 0 :(得分:-4)
我不习惯,但看起来你已将它命名为。
如果您查看pb
导入,其使用位置的前缀为pb.Method
;我的猜测是GetWeather
需要相同的。
e.g:
Weather.GetWeather
或一些句法变体;你总是可以尝试没有前缀的导入。