root = {}
function root:testfunc(a)
if a == nil then
return "nil"
end
return a
end
lua.NewState()
defer L.Close()
if err := L.DoFile("test.lua"}
myTable := L.GetGlobal("root").(*lua.LTable)
err := L.CallByParam(lua.P{
Fn: myTable.RawGet(lua.LString("testfunc")),
NRet: 1,
Protect: true,
}, lua.LString("hello"))
if err != nil {
panic(err)
}
ret := L.Get(-1)
L.Pop(1)
res, ok := ret.(lua.LString)
if ok {
fmt.Println(res)
}
test.lua:
main.go