新类型模式(Newtype)
新类型模式(Newtype)类似于仅包含单个构造器的枚举类型(构造器名称与新类型模式(Newtype)本身相同)。您可以通过该构造器创建新类型值,并使用._
操作符提取其内部表示。
新类型模式同样支持模式匹配的使用。
type UserId Int
type UserName String
fn main {
let user_id : UserId = UserId(1)
let user_name : UserName = UserName("Alice")
println(user_id._)
println(user_name._)
// use some pattern matching to extract the values
let UserId(id) = user_id
let UserName(name) = user_name
}