用于键值映射的表也是十分常用的结构,在Scala3里面,我们这样创建一个映射表:
// scala
val map = Map(1 -> "a", 2 -> "b", 3 -> "c")
这样的用法看起来很像某些脚本语言在语言中内置的语法,但是在Scala3这样的高度通用性语言里,Map
当然也不是采用特殊的内置语法来构建的,实际上,Map
提供的apply
方法里,接收若干个“二元组”,而->
只是用来创建二元组的一个方法名。
Kotlin也采用了类似的设计,只不过其构建二元组是采用to
这个中缀函数:
// kotlin
val map = mapOf(1 to "a", 2 to "b", 3 to "c")
虽然这也是一种通用设计,但是用起来仍不如Scala3的版本自然。