共计 1090 个字符,预计需要花费 3 分钟才能阅读完成。
11 月 1 日,谷歌发表在 Kotlin 中反对 Protocol Buffers,进一步加深对 Kotlin 这门编程语言的投资。
Protocol Buffers (ProtocolBuffer/ protobuf) 是 Google 公司开发的一种数据描述语言,相似于 XML 可能将结构化数据序列化,可用于数据存储、通信协议等方面。
去年,谷歌颁布开了对 gRPC 的 Kotlin 反对,这是一种开源近程过程调用 (RPC) 框架,为 Google 的数千个微服务提供反对。谷歌示意,将来将鼎力投资 Kotlin 语言和生态系统,Android 开发以 Kotlin 优先,后端服务的构建也尽量用 Kotlin,这都归功于他们对 Kotlin 这门语言的表现力、安全性和跟 Java 双向互操作性的青睐。
当初,开发者能够应用 proto 编译器中新内置的 Kotlin 反对,来生成习用的 Kotlin 畛域特定语言 (DSL)。
例如,这是一个简略的 protocol buffer 音讯,代表掷骰子:
message DiceSeries {
message DiceRoll {
int32 value = 1; // value of this roll, e.g. 2..12
string nickname = 2; // string nickname, e.g. "snake eyes"
}
repeated DiceRoll rolls = 1;
}
它在 Java 中是这样的:
DiceSeries series = DiceSeries.newBuilder()
.addRoll(DiceRoll.newBuilder()
.setValue(5))
.addRoll(DiceRoll.newBuilder()
.setValue(20)
.setNickname("critical hit"))
.build()
在此版本中,protos 提供了一组表白性的 DSL 构建办法,让这段代码在 Kotlin 中变得更加简洁、优雅,上面是应用新的 Kotlin 原型绑定编写的骰子代码:
val series = diceSeries {
rolls = listOf(diceRoll { value = 5},
diceRoll {
value = 20
nickname = "critical hit"
}
)
}
由此可见,Kotlin 版本应用 Kotlin 类型平安构建器,让代码更加简洁,而且不须要显式调用 build 办法。
正文完