代码拉取完成,页面将自动刷新
预期的商业场景:
import (
"fmt"
"qlang.io/cl/qlang"
_ "qlang.io/lib/builtin" // 导入 builtin 包
)
const scriptCode = `x = 1 + 2`
func main() {
ql := qlang.New()
err := ql.SafeExec([]byte(scriptCode), "")
if err != nil {
// 错误处理
return
}
fmt.Println("x:", ql.Var("x")) // 输出 x: 3
}
这是一个最精简功能的 mini qlang。想要了解更多,可参考“定制 qlang”相关内容。实际项目中你也可以参考代码:
尽管我们认为 qlang 的优势领域是在与 Go 配合的嵌入式场景,但您也可以把 qlang 语言用于非嵌入式脚本领域。
您可以直接通过 qlang
命令行程序来执行 *.ql 的代码。如下:
qlang xxx.ql <arg1> <arg2> ... <argN>
为了方便学习 qlang 工作机理,我们支持导出 qlang 编译的 “汇编指令”:
QLANG_DUMPCODE=1 qlang xxx.ql <arg1> <arg2> ... <argN>
在 Unix 系的操作系统下,您可以在 xxx.ql 文件开头加上:
#!/usr/bin/env qlang
并给 xxx.ql 文件加上可执行权限,即可直接运行 xxx.ql 脚本。
命令行下输入 qlang
命令(不带参数),直接进入 qlang shell。
您同样也可以设置 QLANG_DUMPCODE 环境变量来学习 qlang 的工作机理:
QLANG_DUMPCODE=1 qlang
go get -u -insecure qlang.io/qlang
或者在 src 目录执行如下命令:
git clone https://github.com/qiniu/qlang.git qlang.io
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。