接口

interface Any

public interface Any

功能:Any 是所有类型的父类型,所有 interface 都默认继承它,所有非 interface 类型都默认实现它。

interface ByteExtension

public interface ByteExtension

功能:该接口用于为 Byte 类型实现扩展方法,接口本身为不包含任何属性、方法。

extend Byte <: ByteExtension

extend Byte <: ByteExtension

功能:为 Byte 类型实现一系列扩展方法,主要为在 Ascii 字符集范围内的一些字符判断、转换等操作。

func isAscii()

public func isAscii(): Bool

功能:判断 Byte 是否是在 Ascii 范围内。

返回值:

  • Bool - 如果 Byte 在 Ascii 范围内返回 true,否则返回 false。

func isAsciiControl()

public func isAsciiControl(): Bool

功能:判断 Byte 是否是在 Ascii 控制字符范围内。其取值范围为 [00, 1F] 和 {7F} 的并集。

返回值:

  • Bool - 如果 Byte 在 Ascii 控制字符范围内返回 true,否则返回 false。

func isAsciiGraphic()

public func isAsciiGraphic(): Bool

功能:判断 Byte 是否是在 Ascii 图形字符范围内。其取值范围为 [21, 7E]。

返回值:

  • Bool - 如果 Byte 在 Ascii 图形字符范围内返回 true,否则返回 false。

func isAsciiHex()

public func isAsciiHex(): Bool

功能:判断 Byte 是否是在 Ascii 十六进制数字范围内。

返回值:

  • Bool - 如果 Byte 在 Ascii 十六进制数字范围内返回 true,否则返回 false。

func isAsciiLetter()

public func isAsciiLetter(): Bool

功能:判断 Byte 是否是在 Ascii 拉丁字母范围内。

返回值:

  • Bool - 如果 Byte 在 Ascii 拉丁字母范围内返回 true,否则返回 false。

func isAsciiLowerCase()

public func isAsciiLowerCase(): Bool

功能:判断 Byte 是否是在 Ascii 小写拉丁字母范围内。

返回值:

  • Bool - 如果 Byte 在 Ascii 小写拉丁字母范围内返回 true,否则返回 false。

func isAsciiNumber()

public func isAsciiNumber(): Bool

功能:判断 Byte 是否是在 Ascii 十进制数字范围内。

返回值:

  • Bool - 如果 Byte 在 Ascii 十进制数字范围内返回 true,否则返回 false。

func isAsciiNumberOrLetter()

public func isAsciiNumberOrLetter(): Bool

功能:判断 Byte 是否是在 Ascii 十进制数字和拉丁字母范围内。

返回值:

  • Bool - 如果 Byte 在 Ascii 十进制数字和拉丁字母范围内返回 true,否则返回 false。

func isAsciiOct()

public func isAsciiOct(): Bool

功能:判断 Byte 是否是在 Ascii 八进制数字范围内。

返回值:

  • Bool - 如果 Byte 在 Ascii 八进制数字范围内返回 true,否则返回 false。

func isAsciiPunctuation()

public func isAsciiPunctuation(): Bool

功能:判断 Byte 是否是在 Ascii 标点符号范围内。其取值范围为 [21, 2F]、[3A, 40]、[5B, 60] 和 [7B, 7E] 的并集。

返回值:

  • Bool - 如果 Byte 在 Ascii 标点符号范围内返回 true,否则返回 false。

func isAsciiUpperCase()

public func isAsciiUpperCase(): Bool

功能:判断 Byte 是否是在 Ascii 大写拉丁字母范围内。

返回值:

  • Bool - 如果 Byte 在 Ascii 大写拉丁字母范围内返回 true,否则返回 false。

func isAsciiWhiteSpace()

public func isAsciiWhiteSpace(): Bool

功能:判断 Byte 是否是在 Ascii 空白字符范围内。其取值范围为 [09, 0D] 和 {20} 的并集。

返回值:

  • Bool - 如果 Byte 在 Ascii 空白字符范围内返回 true,否则返回 false。

func toAsciiLowerCase()

public func toAsciiLowerCase(): Byte

功能:将 Byte 换为对应的 Ascii 小写字符 Byte,如果无法转换则保持现状。

返回值:

  • Byte - 转换后的 Byte,如果无法转换则返回原来的 Byte

func toAsciiUpperCase()

public func toAsciiUpperCase(): Byte

功能:将 Byte 换为对应的 Ascii 大写字符 Byte,如果无法转换则保持现状。

返回值:

  • Byte - 转换后的 Byte,如果无法转换则返回原来的 Byte

interface CType

sealed interface CType

功能:表示支持与 C 语言互操作的接口。

CType 接口是一个语言内置的空接口,它是 CType 约束的具体实现,所有 C 互操作支持的类型都隐式地实现了该接口,因此所有 C 互操作支持的类型都可以作为 CType 类型的子类型使用。

注意:

  • CType 接口是仓颉中的一个接口类型,它本身不满足 CType 约束。
  • CType 接口不允许被用户继承、扩展。
  • CType 接口不会突破子类型的使用限制。

示例:

@C
struct Data {}

@C
func foo() {}

main() {
    var c: CType = Data() // ok
    c = 0 // ok
    c = true // ok
    c = CString(CPointer<UInt8>()) // ok
    c = CPointer<Int8>() // ok
    c = foo // ok
}

interface Collection<T>

public interface Collection<T> <: Iterable<T> {
    prop size: Int64
    func isEmpty(): Bool
    func toArray(): Array<T>
}

功能:该接口用来表示集合,通常容器类型应该实现该接口。

prop size

prop size: Int64

功能:获取当前集合的大小,即容器的容量。

类型:Int64

func isEmpty()

func isEmpty(): Bool

功能:判断当前集合是否为空。

返回值:

  • Bool - 如果为空返回 true,否则返回 false。

func toArray()

func toArray(): Array<T>

功能:将当前集合转为数组类型。

返回值:

  • Array<T> - 转换得到的数组。

interface Comparable<T>

public interface Comparable<T> <: Equatable<T> & Less<T> & Greater<T> & LessOrEqual<T> & GreaterOrEqual<T> {
    func compare(that: T): Ordering
}

功能:该接口表示比较运算,是等于、小于、大于、小于等于、大于等于接口的集合体。

func compare(T)

func compare(that: T): Ordering

功能:判断当前 T 类型实例与参数指向的 T 类型实例的大小关系。

参数:

  • that: T - 待与当前实例比较的另一个实例。

返回值:

interface Countable<T>

public interface Countable<T> {
    func next(right: Int64): T
    func position(): Int64
}

功能:该接口表示类型可数。

可数类型的每一个实例都对应一个位置信息(Int64 值),可以通过往后数数得到其他的该类型实例。

func next(Int64)

func next(right: Int64): T

功能:获取当前实例往右数 right 后所到位置的 T 类型实例。

参数:

  • right: Int64 - 往右数的个数。

返回值:

  • T - 往右数 right 后所到位置的 T 类型实例。

func position()

func position(): Int64

功能:获取当前可数实例的位置信息,即将当前实例转为 Int64 类型。

返回值:

interface Equal<T>

public interface Equal<T> {
    operator func ==(rhs: T): Bool
}

功能:该接口用于支持判等操作。

operator func ==(T)

operator func ==(rhs: T): Bool

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

参数:

  • rhs: T - 待比较的另一个实例。

返回值:

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

interface Equatable<T>

public interface Equatable<T> <: Equal<T> & NotEqual<T>

功能:该接口是判等和判不等两个接口的集合体。

已为部分仓颉类型实现该接口,包括:UnitBoolRuneInt64Int32Int16Int8UIntNativeUInt64UInt32UInt16UInt8Float64Float32Float16StringArrayBoxArrayListHashSet

interface FloatToBits

public interface FloatToBits

功能:该接口用于扩展 Float 类型与以位表示的整形数值转换。

interface GreaterOrEqual<T>

public interface GreaterOrEqual<T> {
    operator func >=(rhs: T): Bool
}

功能:该接口表示大于等于计算。

operator func >=(T)

operator func >=(rhs: T): Bool

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

参数:

  • rhs: T - 待与当前实例比较的另一个实例。

返回值:

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

interface Greater<T>

public interface Greater<T> {
    operator func >(rhs: T): Bool
}

功能:该接口表示大于计算。

operator func >(T)

operator func >(rhs: T): Bool

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

参数:

  • rhs: T - 待与当前实例比较的另一个实例。

返回值:

  • Bool - 如果大于,返回 true,否则返回 false。

interface Hashable

public interface Hashable {
    func hashCode(): Int64
}

功能:该接口用于计算哈希值。

已为部分仓颉类型实现该接口,包括:BoolRuneIntNativeInt64Int32Int16Int8UIntNativeUInt64UInt32UInt16UInt8Float64Float32Float16StringBox

func hashCode()

func hashCode(): Int64

功能:获得实例类型的哈希值。

返回值:

  • Int64 - 返回实例类型的哈希值。

interface Hasher

public interface Hasher {
    func finish(): Int64
    mut func reset(): Unit
    mut func write(value: Bool): Unit
    mut func write(value: Rune): Unit
    mut func write(value: Int8): Unit
    mut func write(value: Int16): Unit
    mut func write(value: Int32): Unit
    mut func write(value: Int64): Unit
    mut func write(value: UInt8): Unit
    mut func write(value: UInt16): Unit
    mut func write(value: UInt32): Unit
    mut func write(value: UInt64): Unit
    mut func write(value: Float16): Unit
    mut func write(value: Float32): Unit
    mut func write(value: Float64): Unit
    mut func write(value: String): Unit
}

功能:该接口用于处理哈希组合运算。

可以使用一系列 write 函数传入不同数据类型实例,并计算他们的组合哈希值。

func finish()

func finish(): Int64

功能:获取哈希运算的结果。

返回值:

  • Int64 - 经过计算后的哈希值。

func reset()

mut func reset(): Unit

功能:重置哈希值到 0。

func write(Bool)

mut func write(value: Bool): Unit

功能:把想要哈希运算的 Bool 值传入,然后进行哈希组合运算。

参数:

  • value: Bool - 待运算的值。

func write(Float16)

mut func write(value: Float16): Unit

功能:通过该函数把想要哈希运算的 Float16 值传入,然后进行哈希组合运算。

参数:

  • value: Float16 - 待运算的值。

func write(Float32)

mut func write(value: Float32): Unit

功能:通过该函数把想要哈希运算的 Float32 值传入,然后进行哈希组合运算。

参数:

  • value: Float32 - 待运算的值。

func write(Float64)

mut func write(value: Float64): Unit

功能:通过该函数把想要哈希运算的 Float64 值传入,然后进行哈希组合运算。

参数:

  • value: Float64 - 待运算的值。

func write(Int16)

mut func write(value: Int16): Unit

功能:通过该函数把想要哈希运算的 Int16 值传入,然后进行哈希组合运算。

参数:

  • value: Int16 - 待运算的值。

func write(Int32)

mut func write(value: Int32): Unit

功能:通过该函数把想要哈希运算的 Int32 值传入,然后进行哈希组合运算。

参数:

  • value: Int32 - 待运算的值。

func write(Int64)

mut func write(value: Int64): Unit

功能:通过该函数把想要哈希运算的 Int64 值传入,然后进行哈希组合运算。

参数:

  • value: Int64 - 待运算的值。

func write(Int8)

mut func write(value: Int8): Unit

功能:通过该函数把想要哈希运算的 Int8 值传入,然后进行哈希组合运算。

参数:

  • value: Int8 - 待运算的值

func write(Rune)

mut func write(value: Rune): Unit

功能:通过该函数把想要哈希运算的 Rune 值传入,然后进行哈希组合运算。

参数:

  • value: Rune - 待运算的值。

func write(String)

mut func write(value: String): Unit

功能:通过该函数把想要哈希运算的 String 值传入,然后进行哈希组合运算。

参数:

  • value: String - 待运算的值。

func write(UInt16)

mut func write(value: UInt16): Unit

功能:通过该函数把想要哈希运算的 UInt16 值传入,然后进行哈希组合运算。

参数:

  • value: UInt16 - 待运算的值。

func write(UInt32)

mut func write(value: UInt32): Unit

功能:通过该函数把想要哈希运算的 UInt32 值传入,然后进行哈希组合运算。

参数:

  • value: UInt32 - 待运算的值。

func write(UInt64)

mut func write(value: UInt64): Unit

功能:通过该函数把想要哈希运算的 UInt64 值传入,然后进行哈希组合运算。

参数:

  • value: UInt64 - 待运算的值。

func write(UInt8)

mut func write(value: UInt8): Unit

功能:通过该函数把想要哈希运算的 UInt8 值传入,然后进行哈希组合运算。

参数:

  • value: UInt8 - 待运算的值。

interface Iterable<E>

public interface Iterable<E> {
    func iterator(): Iterator<E>
}

功能:该接口表示可迭代,实现了该接口的类型(通常为容器类型)可以在 for-in 语句中实现迭代,也可以获取其对应的迭代器类型实例,调用 next 函数实现迭代。

本包已经为 ArrayArrayListHashMap 等基础容器类型实现了该接口,用户可以为其他类型实现该接口,使之支持迭代遍历的功能。

func iterator()

func iterator(): Iterator<E>

功能:获取迭代器。

返回值:

interface LessOrEqual<T>

public interface LessOrEqual<T> {
    operator func <=(rhs: T): Bool
}

功能:该接口表示小于等于计算。

operator func <=(T)

operator func <=(rhs: T): Bool

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

参数:

  • rhs: T - 待与当前实例比较的另一个实例。

返回值:

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

interface Less<T>

public interface Less<T> {
    operator func <(rhs: T): Bool
}

功能:该接口表示小于计算。

operator func <(T)

operator func <(rhs: T): Bool

功能:判断当前 T 类型实例是否小于参数指向的 T 类型实例。

参数:

  • rhs: T - 待与当前实例比较的另一个实例。

返回值:

  • Bool - 如果小于,返回 true,否则返回 false。

interface NotEqual<T>

public interface NotEqual<T> {
    operator func !=(rhs: T): Bool
}

功能:该接口用于支持判不等操作。

operator func !=(T)

operator func !=(rhs: T): Bool

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

参数:

  • rhs: T - 待比较的另一个实例。

返回值:

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

interface Resource

public interface Resource {
    func close(): Unit
    func isClosed(): Bool
}

功能:该接口用于资源管理,通常用于内存、句柄等资源的关闭和释放。

实现了该接口的类型可以在 try-with-resource 语法上下文中实现自动资源释放。

func isClosed()

func isClosed(): Bool

功能:判断资源是否已经关闭。

返回值:

  • Bool - 如果已经关闭返回 true,否则返回 false。

func close()

func close(): Unit

功能:关闭资源。

interface RuneExtension

public interface RuneExtension

功能:该接口用于为 Rune 类型实现扩展方法,接口本身为不包含任何属性、方法。

interface ThreadContext

public interface ThreadContext {
    func end(): Unit
    func hasEnded(): Bool
}

功能:仓颉线程上下文接口。

用户创建 thread 时,除了缺省 spawn 表达式入参,也可以通过传入不同 ThreadContext 类型的实例,选择不同的线程上下文,然后一定程度上控制并发行为。

目前不允许用户自行实现 ThreadContext 接口,仓颉语言根据使用场景,提供了 MainThreadContext, 具体定义可在终端框架库中查阅。

func end()

func end(): Unit

功能:结束方法,用于向当前 context 发送结束请求。

func hasEnded()

func hasEnded(): Bool

功能:检查方法,用于检查当前 context 是否已结束。

返回值:

  • Bool - 如果结束返回 true,否则返回 false。

interface ToString

public interface ToString {
    func toString(): String
}

功能:该接口用来提供具体类型的字符串表示。

func toString()

func toString(): String

功能:获取实例类型的字符串表示。

返回值:

  • String - 返回实例类型的字符串表示。