Nolang 簡介
Nolang 是一門實驗性的系統編程語言,採用引用傳遞模型、安全作用域模型,實現了內存絕對安全。無GC。
核心特性
- 開發者友好:沒有指針、沒有所有權、沒有生命週期...
- 引用傳遞:所有函數參數均為引用,函數通過修改參數來返回結果
- 內存自動管理:通過安全作用域模型,離開作用域自動釋放,不會出現懸垂指針、內存洩漏問題
- 無 GC:沒有內存洩漏問題,故不需要GC
- 性能優先: 小字符串無堆內存分配;變量可一次分配、一次釋放
- 方法重載:通過單態化,實現高效性能
- 接口:支持接口功能聲明、提供默認功能實現、可繼承多接口
- 泛形:支持類型、數值泛形
- 匹配:獨特match設計,使用更加簡單
快速開始
// 你好,世界!
// 不需要main入口
print('Hello, Nolang!')
// 變量聲明
i64
// 函數定義(普通方法通過參數返回結果)
add(a i64, b i64, result i64) {
result = a + b
}
// 標準庫方法,可以和普通函數類似,有返回值
c = max(a, b)
// 結構體
user {
name str
age i64
}
u = user {
name: 'Alice',
age: 30,
}
// 方法
user.greet() {
print('Hello, ' + .name)
}
u.greet()