Updated at: 2023-11-17
Brook 需要加入可编程功能,目的是可以用脚本以编程的形式灵活的控制整个流程。期间考虑了 lua 和 javascript,斟酌后发现两个都比较复杂,不够极简。于是准备写一个脚本语言,来实现几个极简的功能就足够了,比如类型,流程控制,函数。然后发现了 Tengo,基本符合预期,于是选了 Tengo。下面介绍下这个脚本语言,几乎没有任何学习成本,几分钟即可用起来。
a := "foo" // string
b := -19.84 // floating point
c := 5 // integer
d := true // boolean
e := [1, 2, 3] // array
f := {a: 1, b: 2} // map
if c == 1 {
//
} else if c == 2 {
//
} else {
//
}
for i:=0; i<10; i++ {
//
}
add := func(a, b){
return a + b
}
c := add(1, 2)
可以看出,函数也是个值类型,就像定义一个变量一样,挺好
len(e)
更多内置函数
fmt := import("fmt")
fmt.println("hello")
所谓库,就是将一系列函数打包后起个名字,更多标准库
https://github.com/txthinking/bypass/blob/master/example_script.tengo
https://www.txthinking.com/shiliew.html