<dependencies> <!-- Protocol Buffers --> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>3.18.1</version> </dependency> <!-- Kotlin Core --> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib</artifactId> <version>1.6.0</version> </dependency> </dependencies> groovy dependencies { // Protocol Buffers implementation 'com.google.protobuf:protobuf-java:3.18.1' // Kotlin Core implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.6.0' } protobuf syntax = "proto3"; message Person { string name = 1; int32 age = 2; repeated string hobbies = 3; } shell protoc --java_out=./src/main/java ./Person.proto kotlin import kotlin.io.ByteStreams import com.google.protobuf.InvalidProtocolBufferException fun main() { val personBuilder = Person.Person.newBuilder() personBuilder.name = "John" personBuilder.age = 25 personBuilder.addHobbies("Coding") personBuilder.addHobbies("Reading") val person = personBuilder.build() val personBytes = person.toByteArray() try { val deserializedPerson = Person.Person.parseFrom(personBytes) println("Name: ${deserializedPerson.name}") println("Age: ${deserializedPerson.age}") println("Hobbies: ${deserializedPerson.hobbiesList}") } catch (e: InvalidProtocolBufferException) { println("Failed to deserialize Person object.") } }


上一篇:
下一篇:
切换中文