Go protobuf 包冲突

您好我正在尝试用 Go 语言生成简单的 protobuf 文件


syntax = "proto3";


package gen;


message EvtKeepAlive

{


   string SvcName   = 2;


}

在标题中,我看到该包使用了两种不同的 proto go 实现,一种来自github.com,另一种来自google.golang.org。据我了解,后者取代了前者,那么这个文件生成是否有效?


// versions:

//  protoc-gen-go v1.25.0-devel

//  protoc        v3.13.0

// source: common.proto


package gen


import (

    proto "github.com/golang/protobuf/proto"

    protoreflect "google.golang.org/protobuf/reflect/protoreflect"

    protoimpl "google.golang.org/protobuf/runtime/protoimpl"

    reflect "reflect"

    sync "sync"

)


吃鸡游戏
浏览 160回答 1
1回答

红颜莎娜

文件有效;请参阅 dsnet对此问题的评论:新生成的 .pb.go 文件依赖于已弃用的 proto 包的唯一原因是对旧包的足够新版本强制执行弱依赖。这是必要的,因为不是每个人都在使用 Go 模块,因此 Go 工具链会强制执行此依赖约束。我不喜欢添加它,但我认为至少保留几个月可能是必要的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go