请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

go依赖命令 已经弃用了

最新 grpc安装方式

package main

import (
	"PackageTest/grpc_test/proto"
	"context"
	"google.golang.org/grpc"
	"net"
)

type Server struct {
	// 下列结构体 你这个可以直接拿来用  而不用 想我一样再次封装
	proto.UnimplementedGreeterServer // 这是 它内部生成的一个 结构体   我这边调用 以实现鸭子类型 
}

func (s *Server) SayHello(ctx context.Context, request *proto.HelloRequest) (*proto.HelloReply, error) {
	return &proto.HelloReply{
		Message: "hello " + request.GetName(),
	}, nil
}

func main() {
	g := grpc.NewServer()
	proto.RegisterGreeterServer(g, &Server{})
	lis, err := net.Listen("tcp", "0.0.0.0:8080")
	if err != nil {
		panic("failed to listen" + err.Error())
	}
	err = g.Serve(lis)
	if err != nil {
		panic("failed to start grpc" + err.Error())
	}
}

正在回答 回答被采纳积分+3

1回答

只是为了好玩 2022-05-19 17:19:48

你的问题解决了吧?

你的go版本是多少?课程用的是go1.15。我的是go1.16。

然后我是按照一下命令依次执行的,没有遇到你的问题:

go get google.golang.org/protobuf/cmd/protoc-gen-go@v1.25.0
go get -u -v google.golang.org/grpc
go get -u -v github.com/golang/protobuf/protoc-gen-go

# mac 编译并安装protoc参考
https://blog.csdn.net/INGNIGHT/article/details/105095292

你的问题的原因可能跟go的版本有关。

0 回复 有任何疑惑可以回复我~
  • 提问者 城中城 #1
    go我是 1.18   呃  现在问题是 
    我 生成的go文件 天然少了点代码 我都不知道为什么
    回复 有任何疑惑可以回复我~ 2022-05-19 22:26:32
  • bobby 回复 提问者 城中城 #2
    新的protoc版本需要集成UnimplementedGreeterServer  ,其他没有差异
    回复 有任何疑惑可以回复我~ 2022-05-24 11:57:45
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信