编写中,未定稿

GopherLua是一个用Go写的lua虚拟机和编译器。GopherLua提供了API,可以让你轻松将lua脚本嵌入Go主机主机程序中。GopherLua目标是成为具有可扩展语义的脚本语言。

github地址为:https://github.com/yuin/gopher-lua#installation

安装

1
go get github.com/yuin/gopher-lua

使用示例

直接运行lua命令

1
2
3
4
5
6
7
8
9
import lua "github.com/yuin/gopher-lua"

func main() {
L := lua.NewState()
defer L.Close()
if err := L.DoString(`print("hello")`); err != nil {
panic(err)
}
}

运行:

1
2
go run .      
hello

运行lua文件

1
2
3
4
5
6
7
8
9
import lua "github.com/yuin/gopher-lua"

func main() {
L := lua.NewState()
defer L.Close()
if err := L.DoFile("hello.lua"); err != nil {
panic(err)
}
}

hello.lua的内容为:

1
print("hello")

传递参数

下面介绍如何向lua程序传递参数和接收参数

所有GopherLua里的数据都是一个LValue类型的值。LValue有以下方法可以调用:

  • String() string
  • Type() LValueType

LValue类型是一个interface,有很多类型实现了该interface,比如LNilType、LBool、LNumber、LString、LFunction、LUserData、LState、LTable、LChannel等等


编写中,未定稿
https://nrbackback.github.io/2023/01/01/(正在编写中)gopher-lua使用与简介/
作者
John Doe
发布于
2023年1月1日
许可协议