std 模块

std 功能介绍

std 模块意指标准库,标准库是指在编程语言中预先定义的一组函数、类、结构体等,旨在提供常用的功能和工具,以便开发者能够更快速、更高效地编写程序。

仓颉标准库提供的能力包括(不限于):

  • 输入输出:控制台输入输出、文件输入输出等。
  • 数据结构:数组、链表、哈希表等。
  • 算法:排序、求和、求幂、求对数等。
  • 日期和时间:获取时间、格式化时间、设置定时任务等。
  • 并发编程:锁、原子操作等。

仓颉标准库有其三项特点和追求:

  • 使用方便:标准库随编译器、工具链一起发布,不需要用户另外下载,开箱即用。
  • 功能通用:标准库提供了开发者最常使用的一些库能力,旨在为开发者解决大部分基础问题。
  • 质量标杆:标准库追求在性能、代码风格等方面为其他仓颉库树立范例和标杆。

std 模块的包列表

std 模块提供了如下包:

包名功能
corecore 包是标准库的核心包,提供了适用仓颉语言编程最基本的一些 API 能力。
argoptargopt 包提供从命令行参数字符串解析出参数名和参数值的相关能力。
astast 包主要包含了仓颉源码的语法解析器和仓颉语法树节点,提供语法解析函数。
binarybinary 包提供了基础数据类型和二进制字节数组的不同端序转换接口,以及端序反转接口。
collectioncollection 包提供了常见数据结构的高效实现、相关抽象的接口的定义以及在集合类型中常用的函数功能。
collection.concurrentcollection.concurrent 包提供了并发安全的集合类型实现。
consoleconsole 包提供和标准输入、标准输出、标准错误进行交互的方法。
convertconvert 包提供从字符串转到特定类型的 Convert 系列函数。
crypto.digestcrypto.digest 包提供常用摘要算法的通用接口,包括 MD5、SHA1、SHA224、SHA256、SHA384、SHA512、HMAC、SM3。
database.sqldatabase.sql 包提供仓颉访问数据库的接口。
ffi.pythonffi.python 包提供仓颉与 Python 语言互操作调用的能力,以兼容强大的计算和 AI 生态。
formatformat 包提供格式化能力,主要为将仓颉类型实例转换为格式化字符串。
fsfs(file system)包提供对文件、文件夹、路径、文件元数据信息的一些操作函数。
ioio 包提供程序与外部设备进行数据交换的能力。
loglog 包提供日志管理和打印功能。
mathmath 包提供常见的数学运算,常数定义,浮点数处理等功能。
math.numericmath.numeric 包对基础类型可表达范围之外提供扩展能力。
objectpoolobjectpool 包提供了对象缓存和复用的功能。
osos 包提供了包括获取或操作当前进程相关信息(如进程参数、环境变量、目录信息等),注册回调函数及退出当前进程等能力。
os.posixos.posix 包主要适配 POSIX 系统接口。
os.processos.process 包主要提供 Process 进程操作接口,主要包括进程创建,标准流获取,进程等待,进程信息查询等。
overflowoverflow 包提供了溢出处理相关能力。
randomrandom 包提供生成伪随机数的能力。
reflectreflect 包提供了反射功能,使得程序在运行时能够获取到各种实例的类型信息,并进行各种读写和调用操作。
regexregex 包使用正则表达式分析处理文本的能力(仅支持 Ascii 编码字符串),支持查找、分割、替换、验证等功能。
runtimeruntime 包的作用是与程序的运行时环境进行交互,提供了一系列函数和变量,用于控制、管理和监视程序的执行。
socketsocket 包用于进行网络通信,提供启动 Socket 服务器、连接 Socket 服务器、发送数据、接收数据等功能。
sortsort 包提供数组类型的排序函数。
syncsync 包提供并发编程相关的能力。
timetime 包提供了与时间相关的类型,包括日期时间,时间间隔,单调时间和时区等,并提供了计算和比较的功能。
unicodeunicode 包提供了按 unicode 编码标准处理字符的能力。
unittestunittest 包用于编写仓颉项目单元测试代码,提供包括代码编写、运行和调测在内的基本功能。
unittest.mockunittest.mock 包提供仓颉单元测试的mock 框架,提供 API 用于创建和配置mock 对象 ,这些 mock 对象与真实对象拥有签名一致的 API 。
unittest.testmacrounittest.testmacro 为单元测试框架提供了用户所需的宏。