核心特性
在保留 Pascal 清晰语法的基础上,注入现代语言的强大特性。
编译器自动推导变量类型,减少样板代码。
var x := 42;
简洁的匿名函数,支持闭包和高阶函数。
(x: Integer) -> x * x
类型参数声明,编写类型安全的通用代码。
TList<T> / TPair<K, V>
强大的 match 表达式,支持通配符和条件守卫。
match x { 0 => 'zero', _ => 'other' }
基于 Goroutine + Channel 的异步模型,高效并发。
async function FetchData(): String
内置 HTTP 服务器、路由、中间件、JSON 处理。
app.get('/api/users', handler)
转译对比
Kylix 将 Pascal 源码编译为可读、可运行的 Go 代码。
program WebApp;
uses web;
var app: TServer;
begin
app := web.createServer(8080);
app.get('/hello',
procedure(req: TRequest; res: TResponse)
begin
res.json(record
message := 'Hello, Kylix!';
end);
end);
app.listen();
end.
package main
import "kylix/stdlib"
var app *stdlib.TServer
func main() {
app = stdlib.CreateServer(8080)
app.Get("/hello",
func(req *stdlib.TRequest, res *stdlib.TResponse) {
res.Json(struct {
Message string
}{Message: "Hello, Kylix!"})
})
app.Listen()
}
CLI 工具链
从创建项目到编译运行,再到格式化、REPL 交互、LSP 智能服务。
# 创建新项目
kylix new myapp
# 编译 & 运行
kylix build # 编译为 Go 代码
kylix run # 编译 + 运行
kylix run --keep # 编译 + 运行(保留 .go 文件)
# 开发辅助
kylix check # 语法检查(不生成代码)
kylix fmt # 代码格式化
kylix fmt -w file.klx # 原地格式化
# 交互 & 编辑器
kylix repl # 交互式 REPL
kylix lsp # LSP 语言服务器
# 信息
kylix version # 显示版本
kylix help # 帮助信息
快速开始
一分钟内从安装到运行你的第一个 Kylix 程序。
# 1. 克隆 & 构建
git clone https://github.com/astra-zhao/kylix.git
cd kylix && go build -o kylix cmd/kylix/main.go
# 2. 创建项目
./kylix new myapp && cd myapp
# 3. 运行
./kylix run
# → Hello, Kylix World!
标准库
12 个标准库模块,覆盖 Web 开发、数据处理和系统交互。
HTTP 服务器、路由、中间件
uses webMySQL / PostgreSQL / SQLite
uses orm模板引擎、布局、片段
uses template依赖注入容器
uses container环境变量配置管理
uses configCORS / 认证 / 限流 / 日志
uses middleware请求数据校验
uses validation多源自动配置加载
uses autoconfig文件 I/O、目录、路径工具
uses sysutilJSON 编解码、类型安全访问
uses jsonutil日期运算、格式化、解析
uses datetime正则匹配、查找、替换
uses regex