1 Star 2 Fork 1

jackliu / grapeNet

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
LuaScript.md 1016 Bytes
一键复制 编辑 原始数据 按行查看 历史
jackliu 提交于 2017-12-19 16:14 . * 文档整理,增加新库

Lua脚本库使用

Lua库为线程安全库,可以在任意协程中并行调用脚本文件中的函数,也可以合并脚本库。

新建文件脚本

    lua := NewFromFile("testlua", "../_lua_tests/luascripts/call_lua_test.lua")

新建字符串脚本(用于加密LUA文件或内存脚本)

    lua := NewVM("testRegister")
    lua.DoString(sScript) // 执行字符串

获取脚本中的结构

	person := Person{}
	err := lua.GetTable("person", &person)
	if err != nil {
		t.Error(err)
		return
	}

绑定与GO互相调用

脚本模块允许Go函数与Lua脚本无缝调用且线程安全。

注意:部分代码请参考LuaCall_test.go中的代码

    // 绑定本地GO函数
    lua := NewVM("testRegister")
	lua.SetGlobal("TestGoFunc", bindTestFn)

    // 一定要在DO文件之前绑定,否则调用该文件时可能无效
    // 调用Lua中函数

    err := lua.CallGlobal("TestAbc", "a", 2)
	if err != nil {
		return
	}
Go
1
https://gitee.com/koangel/grapeNet.git
git@gitee.com:koangel/grapeNet.git
koangel
grapeNet
grapeNet
master

搜索帮助