Google.protobuf中的数据类如何通过类名实列化
时间: 2024-03-21 10:19:27 浏览: 62
通过类名获取类的实例对象
4星 · 用户满意度95%
在 Google.protobuf 中,数据类(message)是通过 Protobuf 编译器生成的类,可以使用类名来实例化。
例如,假设我们有一个名为 `Person` 的数据类,它包含以下字段:
```
message Person {
string name = 1;
int32 age = 2;
}
```
我们可以使用以下代码来实例化一个 `Person` 对象:
```python
import protobuf_test_pb2
person = protobuf_test_pb2.Person()
person.name = "Alice"
person.age = 25
```
在这里,我们首先导入包含 `Person` 类的 protobuf 文件 `protobuf_test_pb2`,然后使用类名 `protobuf_test_pb2.Person` 来实例化一个对象。接下来,我们可以设置该对象的字段值,如 `name` 和 `age`。
注意,类名的格式为 `protobuf_package_name.message_class_name`,其中 `protobuf_package_name` 是 protobuf 文件中指定的包名,`message_class_name` 是数据类的名称。如果未指定包名,则使用默认的包名 `proto`。在实际使用中,需要根据实际情况来确定类名的格式。
阅读全文