go依赖命令 已经弃用了

来源:16-5 go下grpc快速体验 - 1

城中城

2022-05-19

最新 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())
	}
}
写回答

1回答

只是为了好玩

2022-05-19

你的问题解决了吧?

你的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
2
bobby
回复
城中城
新的protoc版本需要集成UnimplementedGreeterServer ,其他没有差异
2022-05-24
共2条回复

Go+Python打造电商系统 自研微服务框架 抓紧高薪机遇

快速转型Go工程师,成为具备双语言后端能力的开发者

508 学习 · 530 问题

查看课程