core 包是标准库的核心包,提供了适用仓颉语言编程最基本的一些 API 能力。
提供了内置类型(有符号整型、无符号整型、浮点型等)、常用函数(print、println、eprint 等)、常用接口(ToString、Hashable、Equatable、Collection 等)、常用类和结构体(Array、String、Range 等)、常用异常类(Error、Exception 以及它们的一些细分子类)。
说明:
core 包不需要显式导入,默认导入。
| 函数名 | 功能 |
| acquireArrayRawData(Array<T>) where T <: CType | 获取 Array<T> 中数据的原始指针实例,T 需要满足 CType 约束。 |
| alignOf<T>() where T <: CType | 获取类型 T 的内存对齐值。 |
| eprint(String, Bool) | 将指定字符串打印到标准错误文本流。 |
| eprintln(String) | 将指定字符串打印到标准错误文本流,末尾添加换行。 |
| eprint<T>(T, Bool) where T <: ToString | 将指定 T 类型实例的字符串表示打印到标准错误文本流。 |
| eprintln<T>(T) where T <: ToString | 将指定 T 类型实例的字符串表示打印到标准错误文本流,末尾添加换行。 |
| ifNone(Option<T>, () -> Unit) | 如果输入是 Option.None 类型数据,则执行 action 函数。 |
| ifSome(Option<T>, (T) -> Unit) | 如果输入是 Option.Some 类型数据,则执行 action 函数。 |
| max<T>(T, T, Array<T>) where T <: Comparable<T> | 获取一组数据中的最大值 |
| min<T>(T, T, Array<T>) where T <: Comparable<T> | 获取一组数据中的最小值 |
| print(Bool, Bool) | 向控制台输出 Bool 类型数据的字符串表达。 |
| print(Float16, Bool) | 向控制台输出 Float16 类型数据的字符串表达。 |
| print(Float32, Bool) | 向控制台输出 Float32 类型数据的字符串表达。 |
| print(Float64, Bool) | 向控制台输出 Float64 类型数据的字符串表达。 |
| print(Int16, Bool) | 向控制台输出 Int16 类型数据的字符串表达。 |
| print(Int32, Bool) | 向控制台输出 Int32 类型数据的字符串表达。 |
| print(Int64, Bool) | 向控制台输出 Int64 类型数据的字符串表达。 |
| print(Int8, Bool) | 向控制台输出 Int8 类型数据的字符串表达。 |
| print(Rune, Bool) | 向控制台输出 Rune 类型数据的字符串表达。 |
| print(String, Bool) | 向控制台输出指定字符串。 |
| print(UInt16, Bool) | 向控制台输出 UInt16 类型数据的字符串表达。 |
| print(UInt32, Bool) | 向控制台输出 UInt32 类型数据的字符串表达。 |
| print(UInt64, Bool) | 向控制台输出 UInt64 类型数据的字符串表达。 |
| print(UInt8, Bool) | 向控制台输出 UInt8 类型数据的字符串表达。 |
| print<T>(T, Bool) where T <: ToString | 向控制台输出 T 类型实例的字符串表示。 |
| println() | 向标准输出(stdout)输出换行符。 |
| println(Bool) | 向控制台输出 Bool 类型数据的字符串表达,末尾添加换行。 |
| println(Float16) | 向控制台输出 Float16 类型数据的字符串表达,末尾添加换行。 |
| println(Float32) | 向控制台输出 Float32 类型数据的字符串表达,末尾添加换行。 |
| println(Float64) | 向控制台输出 Float64 类型数据的字符串表达,末尾添加换行。 |
| println(Int16) | 向控制台输出 Int16 类型数据的字符串表达,末尾添加换行。 |
| println(Int32) | 向控制台输出 Int32 类型数据的字符串表达,末尾添加换行。 |
| println(Int64) | 向控制台输出 Int64 类型数据的字符串表达,末尾添加换行。 |
| println(Int8) | 向控制台输出 Int8 类型数据的字符串表达,末尾添加换行。 |
| println(Rune) | 向控制台输出 Rune 类型数据的字符串表达,末尾添加换行。 |
| println(String) | 向控制台输出指定字符串,末尾添加换行。 |
| println(UInt16) | 向控制台输出 UInt16 类型数据的字符串表达,末尾添加换行。 |
| println(UInt32) | 向控制台输出 UInt32 类型数据的字符串表达,末尾添加换行。 |
| println(UInt64) | 向控制台输出 UInt64 类型数据的字符串表达,末尾添加换行。 |
| println(UInt8) | 向控制台输出 UInt8 类型数据的字符串表达,末尾添加换行。 |
| println<T>(T) where T <: ToString | 向控制台输出 T 类型实例的字符串表示,末尾添加换行。 |
| readln() | 接受控制台输入,直到遇到换行或EOF结束。 |
| refEq(Object, Object) | 判断两个 Object 实例的内存地址是否相同。 |
| releaseArrayRawData(CPointerHandle<T>) where T <: CType | 释放原始指针实例,该实例通过 acquireArrayRawData 获取。 |
| sizeOf<T>() where T <: CType | 获取类型 T 所占用的内存空间大小。 |
| sleep(Duration) | 休眠当前线程。 |
| zeroValue<T>() | 获取一个已全零初始化的 T 类型实例。 |
| 类型别名 | 功能 |
| Byte | Byte 类型是内置类型 UInt8 的别名。 |
| Int | Int 类型是内置类型 Int64 的别名。 |
| UInt | UInt 类型是内置类型 UInt64 的别名。 |
| 内置类型名 | 功能 |
| Int8 | 表示 8 位有符号整型,表示范围为 [-2^7, 2^7 - 1]。 |
| Int16 | 表示 16 位有符号整型,表示范围为 [-2^{15}, 2^{15} - 1]。 |
| Int32 | 表示 32 位有符号整型,表示范围为 [-2^{31}, 2^{31} - 1]。 |
| Int64 | 表示 64 位有符号整型,表示范围为 [-2^{63}, 2^{63} - 1]。 |
| IntNative | 表示平台相关的有符号整型,其长度与当前系统的位宽一致。 |
| UInt8 | 表示 8 位无符号整型,表示范围为 [0 ~ 2^8 - 1]。 |
| UInt16 | 表示 16 位无符号整型,表示范围为 [0 ~ 2^{16} - 1]。 |
| UInt32 | 表示 32 位无符号整型,表示范围为 [0 ~ 2^{32} - 1]。 |
| UInt64 | 表示 64 位无符号整型,表示范围为 [0 ~ 2^{64} - 1]。 |
| UIntNative | 表示平台相关的无符号整型,其长度与当前系统的位宽一致。 |
| Float16 | 表示 16 位浮点数,符合 IEEE 754 中的半精度格式(binary16)。 |
| Float32 | 表示 32 位浮点数,符合 IEEE 754 中的单精度格式(binary32)。 |
| Float64 | 表示 64 位浮点数,符合 IEEE 754 中的双精度格式(binary64)。 |
| Bool | 表示布尔类型,有 true 和 false 两种取值。 |
| Rune | 表示 unicode 字符集中的字符。 |
| Unit | 表示仓颉语言中只关心副作用而不关心值的表达式的类型。 |
| CPointer<T> | 表示 T 类型实例的指针,在与 C 语言互操作的场景下使用,对应 C 语言的 T*。 |
| CString | 表示 C 风格字符串,在与 C 语言互操作的场景下使用。 |