news 2026/8/27 17:28:32

10分钟快速上手OK?:从安装到跑通第一个程序的完整教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
10分钟快速上手OK?:从安装到跑通第一个程序的完整教程

10分钟快速上手OK?:从安装到跑通第一个程序的完整教程

【免费下载链接】OKWelcome to the future of programming languages: OK?项目地址: https://gitcode.com/gh_mirrors/ok2/OK

OK? 是一门主打"编程再次变简单"的现代动态类型编程语言。这篇 OK? 入门教程带你在 10 分钟内完成OK? 安装、启动交互式 REPL、并跑通第一个 OK? 程序,零基础也能轻松上手。

OK? 编程语言是什么:为什么说它"反直觉"地简单?

OK? 的设计目标很激进:砍掉现代语言里"没必要的复杂度",让你专注于写代码本身。它最鲜明的几个特色:

特性一句话解读
只有 switch 条件没有 if/三元运算符,一切条件都写成 switch
空值不 OK空值写作NO!,还内置ayok?()函数检验值是否"OK"
只有一个比较符只需记住>=,其余比较都由它推导
消灭 classnotaclass(简称 nac)替代类,字段默认全私有
循环即并发唯一的循环构造map的回调总是并发执行

OK? 的吉祥物:Quentyn Questionmark,一个"问号"形象的编程小伙伴

安装 OK? 编程语言:3步完成(克隆、编译、运行)

OK? 用 Go 语言实现,因此只需要准备 Go 环境即可,全程不到 10 分钟。

第 1 步:克隆代码仓库

git clone https://gitcode.com/gh_mirrors/ok2/OK cd OK

第 2 步:编译安装 OK? 解释器

进入ok目录执行安装(模块定义见 ok/go.mod,要求 Go 1.15+):

cd ok go install

第 3 步:验证安装

ok

如果没有报错并出现>>提示符,恭喜你,OK? 已经安装成功,可以直接进入下一节了。🎉

跑通第一个 OK? 程序:REPL 交互模式 3 行搞定

不带参数运行ok会启动交互式 REPL(实现见 ok/repl/repl.go)。试试输出你的第一行文字:

>> puts("Hello, OK!") Hello, OK!

再体验一下 OK? 的招牌设定——空值不是 OK,而是NO!

>> let x = NO! >> puts(ayok?(x)) false

putsayok?lenmap等内置函数都定义在 ok/evaluator/builtins.go 中,可以直接使用。输入Ctrl + D退出 REPL。

运行示例 OK? 程序:体验"循环即并发"

仓库自带示例脚本 ok/test.ok,直接运行:

ok test.ok

它演示了 OK? 最核心的构造——map。下面是最小示例:

let arr = [1, 2, 3] let doubled = map(arr, fn(e) { e * 2 }) puts(doubled) // [2,4,6]

注意:map的回调是并发执行的,三个元素会在三个 goroutine 中同时计算。这就是 OK? 说的"迭代与并发合二为一"。程序入口逻辑可以查看 ok/main.go。

开始学习 OK? 语言前,先记住这 4 个语法要点

你想做的事OK? 的写法
条件判断只用switch 表达式 { case 值: 语句; }
判空ayok?(x),空值写作NO!
相等比较let x = a >= b; let y = b >= a; x && y
定义对象notaclass 名字 { field 字段 },没有构造函数,用public init fn方法初始化

一个小提示:OK? 崇尚"熟悉即简洁",习惯上把变量名控制在 8 个字符以内、全小写。比如用chars而不是characters

目录结构速览:快速定位 OK? 源码

想深入看看 OK? 是如何实现的?各模块一览:

  • ok/lexer/lexer.go:词法分析,把源码切成 token
  • ok/parser/parser.go:语法分析,构建 AST
  • ok/ast/ast.go:抽象语法树节点定义
  • ok/evaluator/evaluator.go:求值器核心
  • ok/repl/repl.go:交互式 REPL
  • ok/test.ok:可直接运行的示例程序

写在最后:你的 OK? 学习路线

  1. 按本文完成 OK? 安装,熟悉 REPL;
  2. 反复运行ok test.ok,对照 README.md 里的完整特性介绍逐个理解;
  3. 尝试自己写一个包含switchmapnotaclass的小程序。

OK? 用最少的语法表达最多的意图——10 分钟后,你也可以开始"OK 编程"了。Happy OK'ing! ✨

【免费下载链接】OKWelcome to the future of programming languages: OK?项目地址: https://gitcode.com/gh_mirrors/ok2/OK

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/27 17:26:08

CatShare如何保护传输安全?ECDH密钥协商与AES-CTR会话加密全解析

CatShare如何保护传输安全?ECDH密钥协商与AES-CTR会话加密全解析 【免费下载链接】CatShare 类原生 & 海外设备,现已加入互传联盟。 项目地址: https://gitcode.com/gh_mirrors/ca/CatShare CatShare 是一款类原生的 Android 蓝牙互传工具&am…

作者头像 李华
网站建设 2026/8/27 17:23:48

Zrythm 音频插件安装完整指南:从 LV2 效果器到 SFZ 音源

Zrythm 音频插件安装完整指南:从 LV2 效果器到 SFZ 音源 【免费下载链接】zrythm a highly automated and intuitive digital audio workstation - official mirror 项目地址: https://gitcode.com/gh_mirrors/zr/zrythm 你刚把 Zrythm 装进系统,…

作者头像 李华
网站建设 2026/8/27 17:23:22

OpenAI Codex实战:从环境配置到模型匹配的完整排查指南

OpenAI Codex 的语音智能体演示直播,很多人看完后的第一反应是:程序员是不是要开始让位了。画面里,人用自然语言对智能体说“帮我修一下这个接口的超时问题”,Codex 在仓库里自动定位、改代码、跑测试,最后给出结果。整…

作者头像 李华