输入别名

type Meter = Double

这种简单的方法对于单元处理有严重的缺点,因为 Double 的每个其他类型都将与它兼容:

type Second = Double
var length: Meter = 3
val duration: Second = 1
length = duration
length = 0d

所有上述编译,所以在这种情况下,单位只能用于标记代码读者的输入/输出类型(只有意图)。