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