syntax = "proto3";
message Person {
string name = 1;
int32 age = 2;
repeated string emails = 3;
}
protoc --java_out=generated/ --kotlin_out=generated/ person.proto
import com.example.Person;
public class Main {
public static void main(String[] args) {
Person person = Person.newBuilder()
.setName("Alice")
.setAge(25)
.addEmails("alice@example.com")
.addEmails("alice@gmail.com")
.build();
byte[] serializedPerson = person.toByteArray();
Person deserializedPerson = Person.parseFrom(serializedPerson);
System.out.println(deserializedPerson.getName());
System.out.println(deserializedPerson.getAge());
System.out.println(deserializedPerson.getEmailsList());
}
}
import "google/protobuf/descriptor.proto";
extend google.protobuf.FieldOptions {
string my_custom_option = 12345;
}
message MyMessage {
int32 my_field = 1 [
(my_custom_option) = "custom value"
];
}