Skip to content

Latest commit

 

History

History
19 lines (13 loc) · 764 Bytes

5.3 Map.md

File metadata and controls

19 lines (13 loc) · 764 Bytes

Map

用于键值映射的表也是十分常用的结构,在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的版本自然。