游乐游手机版
首页/AI教程/文章详情

Nolang:迄今为止最简单的编程语言,零基础也能学

时间:2026-06-22 15:04
Nolang是一种以“简”为设计核心的系统级编程语言。其语法极致简约,无垃圾回收且内存安全。主要特点包括:无须main函数直接运行;变量定义与类型名称相同时可省略写法;以连字符连接字符串与变量名;使用“ ”符号简便引用模块;配置文件约定大于配置,便于快速上手。整体设计强调编码效率与清晰性。

迄今最簡潔的系統級程式語言:Nolang 全面解析

今天為大家介紹一款極簡的系統級程式語言——Nolang。其設計哲學只有一個字:「簡」。

Nolang 是一款沒有垃圾回收機制(GC)、具備記憶體安全性、且語法極度簡潔的系統級程式語言。

迄今為止,最簡單的編程語言 Nolang

不多說廢話,直接看程式碼範例。

Hello Word 範例:無需 main 函數

print('hello word') 無需撰寫 main 函數,print 會自動換行。字串使用單引號,無需按 Shift 鍵,直接按鍵即可輸出。此設計完全考量了開發效率。

變數定義:簡潔的語法

// 定義一個名為a,類型為str的變量a = 'abc'// 定義一個名為i64,類型為i64的變量i64a u32 變數名稱若與型別一致,可省略型別宣告;若為零值,甚至可省略賦值。這些設計乍看違反常規,但熟練後極為順手。

字串拼接:使用連字號

// 定義一個名為a-b-c,類型為str的變量a-b-c = 'abc'// 字符串拼接a-b-c-d = 'abc' - 'c' 變數名稱以連字號 - 連接,在許多系統中被視為一個單詞,便於 TAB 自動補全。字串拼接同樣使用 -,回歸連字符的本意。此設計思路清晰明確。

模組引用:極簡的 # 語法

// 標準庫不用顯式引用// # std/math// 本地模塊# /src/utils.greet// 網絡模塊# github.com/lizongying/nolang/test2/utils.greet greet2greet('World')greet2('World')// 標準庫的函數可以直接使用b = sin(1.0) # 符號既不佔用關鍵字,又極為簡便。別名只需一個空格即可指定。相比那些動輒 import 一長串的語言,Nolang 的模組引用顯得格外清爽。

套件設定:約定優於配置

nolang.jsonc

{"name": "test1","version": "0.1.0","description": "A new Nolang project","keywords": ["nolang"],"author": "lizongying","email": "lizongying@msn.com","organization": "lizongying","repository": "https://github.com/lizongying/nolang","homepage": "https://lizongying.github.io/nolang","license": "MIT","workspace": "../../","dependencies": {"github.com/lizongying/nolang/test1": "v0.1.0","github.com/lizongying/nolang/test2": "v0.1.0",},"compiler": {"version": "0.1.0",},"output": "./dist","ignore": [],} 配置檔極簡,約定優於配置。開箱即用,學習負擔極低。

工作空間:多套件管理

workspace.jsonc

{"test1": "./example/test1","test2": "./example/test2",} 輕鬆實現多套件管理。測試與開發本地套件非常方便,workspace.jsonc 可上傳至 Git 版本控制。

流程控制:統一語法

// 一直循環執行! {}// 限定執行次數10 * {}// 遍歷i <- (a..b] { }// 內部無條件執行x == 1 {b = 2}i <- (a..b] { // continue *}i <- (a..b] { // break**}i <- (a..b] { // return...} for、while 等迴圈語法統一,不佔用任何關鍵字。此設計讓迴圈與條件判斷顯得異常簡潔清爽。

區間語法:視覺化範圍

以vec為例

[]t[..][]t[..)[]t(..][]t(..)[]t[n0..][]t[n0..)[]t(n0..][]t(n0..)[]t[..n1][]t[..n1)[]t(..n1][]t(..n1)[]t[n0..n1][]t[n0..n1)[]t(n0..n1][]t(n0..n1) 同時支援陣列、向量、字串、數字,以及 for、match 等語句。例如 i <- [a..b) 清楚表示包含 a 但不包含 b。視覺化的區間語法一目了然。

列舉:特殊語義

// red=0, green=1, blue=2color {red,green,blue,}// 在普通方法中,a,b,c 實際是定義的a=0,b=1, c=2... 這是和其他語言不一致的地方。// 所以正常不能用逗號的方式定義多個變量// 這是一個特殊枚舉, 可以有類型,有逗號, 有別名enum-name {a t,b u,c v,}// 注意這是一個普通的struct,多個字段沒有逗號struct-name {a tb uc v} 請注意:普通列舉中的逗號具有特殊含義,不能用來定義多個變數。此為一個小陷阱,但一旦熟悉,邏輯便非常清晰。列舉與結構體的區別一目了然:列舉使用逗號,結構體則否。

介面:精妙的多型設計

```nolang
// 定義接口
json {
to-json()
}

// 接口默認實現
json.to-json() {
}

// 接口實現
user json {
name str
age i64
}

// 重寫 調用父實現
user.to-json() {
// 父實現
..to-json()
}

user.other() {
// 當前實現
.to-json()

// 父實現..to-json()

}

介面的設計極為精妙:定義介面、提供預設實作、衍生實作,最後還能重新覆寫。這種多型的實現方式,既保持了語言的簡潔性,又提供了極強的擴充能力。

来源:https://developer.aliyun.com/article/1742441
上一篇阿里云618大促时间入口与内容政策全解 下一篇Token预算紧张 每一分钱花在刀刃上
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
CapCut AI Docker 一键部署:镜像拉取、端口映射与数据目录配置教程
AI教程 · 2026-06-30

CapCut AI Docker 一键部署:镜像拉取、端口映射与数据目录配置教程

CapCutAI容器化部署需先确认镜像来源与授权范围,再完成环境准备、镜像拉取、端口映射、数据目录挂载和启动验证,适合本地试用、团队内网演示与轻量化AI剪辑服务管理。

CapCut AI Windows本地安装配置2026最新版含下载与环境要求
AI教程 · 2026-06-30

CapCut AI Windows本地安装配置2026最新版含下载与环境要求

CapCutAI与剪映AI在Windows端适合短视频、口播、课程和营销素材剪辑,安装前需确认系统、显卡、存储与网络条件,优先选择官方渠道下载,并完成账号、素材目录、硬件加速和导出参数配置。

Veo新手保姆级安装教程:从下载到首次运行
AI教程 · 2026-06-30

Veo新手保姆级安装教程:从下载到首次运行

Veo适合用文字生成短视频,新手应先确认官方入口、准备账号与设备环境,再按网页或应用方式完成启用。首次运行重点在提示词、参数、素材合规与结果保存,避免使用非官方安装包。

Veo本地模型运行下载路径设置与性能优化指南
AI教程 · 2026-06-30

Veo本地模型运行下载路径设置与性能优化指南

Veo本地模型部署需先确认模型来源与硬件条件,再完成下载校验、目录规划、路径配置和推理参数优化。重点关注显存占用、依赖版本、缓存位置、授权范围与常见报错处理。

Veo安装失败解决指南:常见报错与日志排查及升级回滚方案
AI教程 · 2026-06-30

Veo安装失败解决指南:常见报错与日志排查及升级回滚方案

Veo安装失败通常与系统环境、依赖版本、网络源、权限和缓存有关。排查时应先确认版本要求,再查看安装日志,按报错类型处理,并提前备份项目,确保升级与回滚可控。