hi,你好!欢迎访问本站!登录
本站由简数采集腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 文章 - 后端开发 - 正文 看Cosplay古风插画小姐姐,合集图集打包下载:炫龙网 · 炫龙图库

golang lua怎样用_后端开发

2019-12-14后端开发ki4网16°c
A+ A-

github上有一个用golang编写的lua虚拟机,名字叫做gopher-lua。

lua中的数据范例与golang中的数据范例对应关联作者已经在文档中申明,值得注意的是范例是以L开头的,范例的称号是以LT开头的。 (引荐进修:go)

golang中的数据转换为lua中的数据就必需转换为L开头的范例:

str := "hello"
num := 10
L.LString(str)
L.LNumber(float64(num))

lua中的数据转换为golang中的数据,项目供应了ToInt,CheckString之类的函数来举行转换,然则这都是必需提早晓得范例的,假如不晓得就必需举行范例推断:

value := L.Get(1)
switch value.Type() {
case lua.LTString:
case lua.LTTable:
....
}

这里还可以运用gopher-luar来轻易的举行范例转换.

golang和lua相互挪用函数

golang中的函数必需转换为func(L *lua.State) int这类情势才注入lua中,返回参数的int代表了返回参数的个数.

func hello(L *lua.State) int {
     //将返回参数压入栈中
     L.Push(lua.LString("hello"))
     //返回参数为1个
     return 1
}
//注入lua中
L.SetGlobal("hello", L.NewFunction(hello))

在golang中挪用lua函数,lua剧本中需先定义这个函数,然后挪用CallByParam举行挪用:

//先猎取lua中定义的函数
fn := L.GetGlobal("hello")
if err := L.CallByParam(lua.P{
    Fn: fn,
    NRet: 1,
    Protect: true,
    }, lua.LNumber(10)); err != nil {
    panic(err)
}
//这里猎取函数返回值
ret := L.Get(-1)

以上就是golang lua怎样用的细致内容,更多请关注ki4网别的相干文章!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  选择分享方式
  移步手机端
golang lua怎样用_后端开发

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签:

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>