golang 与c# protobuf使用
时间: 2023-07-25 16:29:25 浏览: 115
protobuf使用示例
5星 · 资源好评率100%
无论是在 Golang 还是在 C# 中,使用 Protobuf 的方式都是类似的。
对于 Golang,你需要使用 Protobuf 的 Golang 版本库,可以通过以下命令进行安装:
```
go get -u github.com/golang/protobuf/protoc-gen-go
```
接着,你需要编写一个 .proto 文件来定义你的数据结构和消息格式。例如:
```
syntax = "proto3";
message Person {
string name = 1;
int32 age = 2;
}
```
然后,你需要使用 protoc 工具来生成 Golang 代码,可以通过以下命令生成:
```
protoc --go_out=. *.proto
```
最后,在你的 Golang 代码中,你可以使用 Protobuf 提供的 API 来序列化和反序列化你的消息。例如:
```
p := &Person{
Name: "John",
Age: 30,
}
data, err := proto.Marshal(p)
```
对于 C#,你同样需要使用 Protobuf 的 C# 版本库,可以通过 NuGet 进行安装:
```
Install-Package Google.Protobuf
```
接着,你同样需要编写一个 .proto 文件来定义你的数据结构和消息格式,例如:
```
syntax = "proto3";
message Person {
string name = 1;
int32 age = 2;
}
```
然后,你需要使用 protoc 工具来生成 C# 代码,可以通过以下命令生成:
```
protoc --csharp_out=. *.proto
```
最后,在你的 C# 代码中,你可以使用 Protobuf 提供的 API 来序列化和反序列化你的消息。例如:
```
Person p = new Person {
Name = "John",
Age = 30,
};
byte[] data = p.ToByteArray();
```
阅读全文