core 包是标准库的核心包,提供了适用仓颉语言编程最基本的一些 API 能力。
提供了内置类型(有符号整型、无符号整型、浮点型等)、常用函数(print、println、eprint 等)、常用接口(ToString、Hashable、Equatable、Collection 等)、常用类和结构体(Array、String、Range 等)、常用异常类(Error、Exception 以及它们的一些细分子类)。
说明:
core 包不需要显式导入,默认导入。
| 函数名 | 功能 | 
|---|
| CJ_CORE_AddAtexitCallback(() -> Unit) | 注册退出函数,当前进程退出时执行该函数。 | 
| CJ_CORE_ExecAtexitCallbacks() | 执行注册的退出函数,执行到此函数直接结束当前进程。 | 
| acquireArrayRawData(Array<T>) where T <: CType | 获取 Array<T> 中数据的原始指针实例,T 需要满足 CType 约束。 | 
| alignOf<T>() where T <: CType | 获取类型 T 的内存对齐值。 | 
| eprint(String, Bool) | 用于打印错误消息。 | 
| eprintln(String) | 用于打印错误消息,末尾添加换行。 | 
| ifNone(Option<T>, () -> Unit) | 如果输入是 Option.None 类型数据,则执行 action 函数。 | 
| ifSome(Option<T>, (T) -> Unit) | 如果输入是 Option.Some 类型数据,则执行 action 函数。 | 
| 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类型实例的字符串表示,末尾添加换行。 | 
| refEq(Object, Object) | 判断两个 Object 实例的内存地址是否相同。 | 
| releaseArrayRawData(CPointerHandle<T>) where T <: CType | 释放原始指针实例,该实例通过 acquireArrayRawData 获取。 | 
| sizeOf<T>() where T <: CType | 获取类型 T 所占用的内存空间大小。 | 
| 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 语言互操作的场景下使用。 |