标准库模块
NovaLang 标准库模块概览
标准库模块
NovaLang 提供以下标准库模块,通过 import 引入使用。
nova.io — 文件 I/O
import nova.io.*
// 读写文件
val content = readFile("config.json")
writeFile("output.txt", "Hello Nova!")
appendFile("log.txt", "new line\n")
// 文件信息
val exists = fileExists("data.txt")
val size = fileSize("data.txt")
val files = listDir("src/")
// 目录操作
mkdir("build/output")
nova.json — JSON
import nova.json.*
// 序列化
val json = Json.stringify(#{"name": "Nova", "version": "0.1"})
// 反序列化
val obj = Json.parse(json)
println(obj["name"]) // Nova
// 格式化输出
val pretty = Json.stringify(obj, indent = 2)
nova.http — HTTP 客户端
import nova.http.*
// GET 请求
val resp = Http.get("https://api.example.com/data")
println(resp.body)
// POST 请求
val resp = Http.post("https://api.example.com/users",
body = Json.stringify(#{"name": "Nova"}),
headers = #{"Content-Type": "application/json"}
)
// 带超时
val resp = Http.get("https://example.com", timeout = 5000)
nova.time — 时间日期
import nova.time.*
val now = Time.now() // 当前时间戳 (ms)
val fmt = Time.format(now, "yyyy-MM-dd HH:mm:ss")
val parsed = Time.parse("2024-01-15", "yyyy-MM-dd")
// 休眠
sleep(1000) // 1 秒
nova.text — 正则表达式
import nova.text.*
val regex = Regex("\\d+")
val matches = regex.findAll("abc123def456") // ["123", "456"]
val replaced = regex.replace("abc123", "NUM") // "abcNUM"
println(regex.matches("12345")) // true
nova.test — 测试框架
import nova.test.*
test("加法") {
assert(1 + 1 == 2)
assertEqual(add(2, 3), 5)
}
test("字符串") {
assertNotNull("hello")
assertTrue("hello".contains("ell"))
}
nova.system — 系统操作
import nova.system.*
val env = System.env("HOME") // 环境变量
val prop = System.property("os.name") // 系统属性
val pid = System.pid() // 进程 ID
System.exit(0) // 退出