Mut*_*nam 13 import package protocol-buffers proto
我已经导入了另一个原型,它的包装名称与我的不同.对于来自其他包的消息的使用,已使用包名访问该消息.
例如 :
other.proto
package muthu.other;
message Other{
required float val = 1;
}
Run Code Online (Sandbox Code Playgroud)
myproto.proto
package muthu.test;
import "other.proto";
message MyProto{
required string str = 1;
optional muthu.other.Other.val = 2;
}
Run Code Online (Sandbox Code Playgroud)
有没有办法直接使用muthu.other包的val,如可选的val = 2; 而不是使用muthu.other.Other.val?
找不到有关此问题的任何帮助文档.帮帮我.
小智 11
如果包名称相同,那么您可以从字段声明中省略包名称,否则没有其他方法.如果你可以通过指定"package muthu.other"在同一个包中包含muthu.test,那么它是允许的.
来自Google protobuf的文档:
您可以将可选的包说明符添加到.proto文件,以防止协议消息类型之间的名称冲突.
package foo.bar;
message Open { ... }
Run Code Online (Sandbox Code Playgroud)
然后,您可以在定义消息类型的字段时使用包说明符:
message Foo {
...
required foo.bar.Open open = 1;
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17221 次 |
| 最近记录: |