枚举
enum AnnotationKind
public enum AnnotationKind {
| Init
| MemberFunction
| MemberProperty
| MemberVariable
| Parameter
| Type
}
功能:表示自定义注解希望支持的位置。
Init
Init
功能:构造函数声明。
MemberFunction
MemberFunction
功能:成员函数声明。
MemberProperty
MemberProperty
功能:成员属性声明。
MemberVariable
MemberVariable
功能:成员变量声明。
Parameter
Parameter
功能:成员函数/构造函数中的参数。
Type
Type
功能:类型声明(class、struct、enum、interface)。
enum Endian
public enum Endian {
| Big
| Little
}
功能:枚举类型 Endian 表示运行平台的端序,分为大端序和小端序。
Big
Big
功能:表示大端序。
Little
Little
功能:表示小端序。
static prop Platform
public static prop Platform: Endian
功能:获取所在运行平台的端序。
类型:Endian
异常:
- UnsupportedException - 当所运行平台返回的端序无法识别时,抛出异常。
示例:
main() {
let e = Endian.Platform
match (e) {
case Big => println("BigEndian")
case Little => println("LittleEndian")
}
}
enum Option<T>
public enum Option<T> {
| Some(T)
| None
}
功能:Option<T> 是对 T
类型的封装,表示可能有值也可能无值。
它包含两个构造器:Some
和 None
。其中,Some
会携带一个参数,表示有值,None
不带参数,表示无值。当需要表示某个类型可能有值,也可能没有值的时候,可选择使用 Option 类型。
Option 类型的另一种写法是在类型名前加 ?
,即对于任意类型 Type
,?Type
等价于 Option<Type>。
None
None
功能:构造一个不带参数的 Option<T> 实例,表示无值。
Some(T)
Some(T)
功能:构造一个携带参数的 Option<T> 实例,表示有值。
func getOrDefault(() -> T)
public func getOrDefault(other: ()->T): T
功能:获得值或返回默认值。如果 Option 值是 Some
,则返回类型为 T
的实例,如果 Option 值是 None
,则调用入参,返回类型 T
的值。
参数:
- other: () ->T - 默认函数,如果当前实例的值是
None
,调用该函数得到类型为T
的实例,并将其返回。
返回值:
- T - 如果当前实例的值是
Some<T>
,则返回当前实例携带的类型为T
的实例,如果 Option 值是None
,调用入参指定的函数,得到类型为T
的实例,并将其返回。
func getOrThrow(() -> Exception)
public func getOrThrow(exception: ()->Exception): T
功能:获得值或抛出指定异常。
参数:
- exception: () ->Exception - 异常函数,如果当前实例值是
None
,将执行该函数并将其返回值作为异常抛出。
返回值:
- T - 如果当前实例值是
Some<T>
,返回类型为T
的实例。
异常:
- Exception - 如果当前实例是
None
,抛出异常函数返回的异常。
func getOrThrow()
public func getOrThrow(): T
功能:获得值或抛出异常。
返回值:
- T - 如果当前实例值是
Some<T>
,返回类型为T
的实例。
异常:
- NoneValueException - 如果当前实例是
None
,抛出异常。
func isNone()
public func isNone(): Bool
功能:判断当前实例值是否为 None
。
返回值:
- Bool - 如果当前实例值是
None
,则返回 true,否则返回 false。
func isSome()
public func isSome(): Bool
功能:判断当前实例值是否为 Some
。
返回值:
- Bool - 如果当前实例值是
Some
,则返回 true,否则返回 false。
extend<T> Option<T> <: Equatable<Option<T>> where T <: Equatable<T>
extend<T> Option<T> <: Equatable<Option<T>> where T <: Equatable<T>
功能:为 Option<T> 枚举扩展 Equatable<Option<T>> 接口,支持判等操作。
父类型:
operator func !=(?T)
public operator func !=(that: Option<T>): Bool
功能:判断当前实例与参数指向的 Option<T> 实例是否不等。
参数:
返回值:
- Bool - 如果不相等,则返回 true,否则返回 false。
operator func ==(?T)
public operator func ==(that: Option<T>): Bool
功能:判断当前实例与参数指向的 Option<T> 实例是否相等。
如果两者同为 None,则相等;如果两者为 Some(v1) 和 Some(v2),且 v1 和 v2 相等,则相等。
参数:
返回值:
- Bool - 如果相等,则返回 true,否则返回 false。
extend<T> Option<T> <: Hashable where T <: Hashable
extend<T> Option<T> <: Hashable where T <: Hashable
Some(T)
的哈希值等于 T
的值对应的哈希值,None
的哈希值等于 Int64(0)。
父类型:
func hashCode()
public func hashCode(): Int64
功能:获取哈希值。
返回值:
- Int64 - 哈希值。
extend<T> Option<T> <: ToString where T <: ToString
extend<T> Option<T> <: ToString where T <: ToString
功能:为 Option<T> 枚举实现 ToString 接口,支持转字符串操作。
父类型:
func toString()
public func toString(): String
功能:将 Option 转换为可输出的字符串,字符串内容为 "Some(${T.toString()})" 或 "None"。
返回值:
- String - 转化后的字符串。
enum Ordering
public enum Ordering {
| LT
| GT
| EQ
}
功能:Ordering 表示比较大小的结果,它包含三种情况:小于,大于和等于。
EQ
EQ
功能:构造一个 Ordering 实例,表示等于。
GT
GT
功能:构造一个 Ordering 实例,表示大于。
LT
LT
功能:构造一个 Ordering 实例,表示小于。
extend Ordering <: Comparable
extend Ordering <: Comparable<Ordering>
功能:为 Ordering 类型其扩展 Comparable<Ordering> 接口,支持比较操作。
父类型:
func compare(Ordering)
public func compare(that: Ordering): Ordering
功能:判断当前 Ordering 实例与参数指定的 Ordering 实例的大小关系。
Ordering 枚举的大小关系为:GT > EQ > LT。
参数:
返回值:
- Ordering - 如果大于,返回 GT,如果等于,返回 EQ,如果小于,返回 LT。
operator func !=(Ordering)
public operator func !=(that: Ordering): Bool
功能:判断两个 Ordering 实例是否不相等。
参数:
返回值:
- Bool - 如果不相等,则返回 true,否则返回 false。
operator func <(Ordering)
public operator func <(that: Ordering): Bool
功能:判断当前 Ordering 实例是否小于参数指向的 Ordering 实例。
参数:
返回值:
operator func <=(Ordering)
public operator func <=(that: Ordering): Bool
功能:判断当前 Ordering 实例是否小于等于参数指向的 Ordering 实例。
参数:
返回值:
operator func ==(Ordering)
public operator func ==(that: Ordering): Bool
功能:判断两个 Ordering 实例是否相等。
参数:
返回值:
- Bool - 如果相等,则返回 true,否则返回 false。
operator func >(Ordering)
public operator func >(that: Ordering): Bool
功能:判断当前 Ordering 实例是否大于参数指向的 Ordering 实例。
参数:
返回值:
operator func >=(Ordering)
public operator func >=(that: Ordering): Bool
功能:判断当前 Ordering 实例是否大于等于参数指向的 Ordering 实例。
参数:
返回值:
extend Ordering <: Hashable
extend Ordering <: Hashable
功能:为 Ordering 类型其扩展 Hashable 接口。
父类型:
func hashCode
public func hashCode(): Int64
功能:获取哈希值,GT 的哈希值是 3,EQ 的哈希值是 2,LT 的哈希值是 1。
返回值:
- Int64 - 哈希值。
extend Ordering <: ToString
extend Ordering <: ToString
功能:为 Ordering 类型其扩展 ToString 接口,支持转字符串操作。
父类型:
func toString()
public func toString(): String
功能:将 Ordering 转换为可输出的字符串。
转换结果如下:
返回值:
- String - 转化后的字符串。