枚举

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

异常:

示例:

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 类型的封装,表示可能有值也可能无值。

它包含两个构造器:SomeNone。其中,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 的实例。

异常:

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

功能:为 Option 类型扩展 Hashable 接口。

Some(T) 的哈希值等于 T 的值对应的哈希值,None 的哈希值等于 Int64(0)。

func hashCode()

public func hashCode(): 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 实例。

参数:

返回值:

  • Bool - 如果当前 Ordering 实例小于参数指向的 Ordering 实例,则返回 true,否则返回 false。

operator func <=(Ordering)

public operator func <=(that: Ordering): Bool

功能:判断当前 Ordering 实例是否小于等于参数指向的 Ordering 实例。

参数:

返回值:

  • Bool - 如果当前 Ordering 实例小于等于参数指向的 Ordering 实例,则返回 true,否则返回 false。

operator func ==(Ordering)

public operator func ==(that: Ordering): Bool

功能:判断两个 Ordering 实例是否相等。

参数:

返回值:

  • Bool - 如果相等,则返回 true,否则返回 false。

operator func >(Ordering)

public operator func >(that: Ordering): Bool

功能:判断当前 Ordering 实例是否大于参数指向的 Ordering 实例。

参数:

返回值:

  • Bool - 如果当前 Ordering 实例大于参数指向的 Ordering 实例,则返回 true,否则返回 false。

operator func >=(Ordering)

public operator func >=(that: Ordering): Bool

功能:判断当前 Ordering 实例是否大于等于参数指向的 Ordering 实例。

参数:

返回值:

  • Bool - 如果当前 Ordering 实例大于等于参数指向的 Ordering 实例,则返回 true,否则返回 false。

extend Ordering <: Hashable

extend Ordering <: Hashable

功能:为 Ordering 类型其扩展 Hashable 接口。

func hashCode

public func hashCode(): Int64

功能:获取哈希值,GT 的哈希值是 3,EQ 的哈希值是 2,LT 的哈希值是 1。

返回值:

extend Ordering <: ToString

extend Ordering <: ToString

功能:为 Ordering 类型其扩展 ToString 接口,支持转字符串操作。

func toString()

public func toString(): String

功能:将 Ordering 转换为可输出的字符串。

转换结果如下:

返回值:

  • String - 转化后的字符串。