go 中嵌入 lua

news/2025/1/11 0:26:45/

GOLANG中使用LUA进行扩展

嵌入lua后方便做功能扩展

package mainimport ("fmt""github.com/yuin/gopher-lua"
)func Double(L *lua.LState) int {lv := L.ToInt(1)            /* get argument */L.Push(lua.LNumber(lv * 2)) /* push result */return 1                    /* number of results */
}func SayHello(L *lua.LState) int {name := L.ToString(1)fmt.Println("hello ", name)return 0
}func main() {L := lua.NewState()defer L.Close()L.SetGlobal("double", L.NewFunction(Double))L.SetGlobal("sayHello", L.NewFunction(SayHello))L.DoString(`print(double(4))`)         // 8L.DoString(`sayHello("wangjunsheng")`) // hello wangjunsheng//	L.DoFile("hello.lua") // from lua file
}

 

以下 emacs 中 lua-mode 写给自己看的

合适的位置  git clone https://github.com/immerrr/lua-mode.git

(add-to-list 'load-path "~/emacs/lua-mode")

(autoload 'lua-mode "lua-mode" "Lua editing mode." t)
(add-to-list 'auto-mode-alist '("\\.lua$" . lua-mode))
(add-to-list 'interpreter-mode-alist '("lua" . lua-mode))


http://www.ppmy.cn/news/809595.html

相关文章

gopher-lua初步了解

最近看到golang里面有人实现了一套lua的调用库。go-luahttps://github.com/yuin/gopher-lua github.com/aarzilli/golua/lua 性能对比 This exercises the call stack implementation. When computing fib(35), go-lua is about 6x slower than the C Lua interpreter. Gopher…

gopher-lua 在lua脚本中直接调用修改go中status

由于最近将java项目迁移到go项目中, java项目中原本使用的MVEL动态脚本需要在go中找到相应的脚本语言替换. 找到了gopher-lua 测试了下性能方面还不错. github地址 https://github.com/yuin/gopher-lua 发现在lua脚本中直接调用的go中status中的属性 并修改值的话需要使用到go…

YUM简介

YUM简介 什么是YUM,其作用是什么,主要支持哪几种方式提供软件源? 是一种基于“C/S”结构的RPM软件更新机制,所有的软件包由集中的软件仓库提供,能够自动分析并解决软件包之间的依赖关系。 支持的软件源主要包括&…

一款可定时发圈和标签群发的微信管理软件是什么样的?

什么是时间管理?它是一种科学的解释,意味着时间的流逝是不可阻挡的,但是可以通过掌握时间来获取更多的改变。那如何在有限的生命里而做更多有意义的事情呢?学习一下时间管理,你一定会从中得到启发和答案的。 1.先确定…

在 Golang 项目使用 GitHub fork 出来的项目(go mod 的 replace)

今天从 GitHub 克隆了一个别人的 Golang Markdown 项目,作了些修改,想使用自己的版本,发现不行,因为模块的路径不对,导致导入出错。 原来的模块路径和文件(go.mod): github.com/yuin/goldmark module gith…

GO的lua虚拟机 gopher-lua

https://github.com/yuin/gopher-luahttps://github.com/yuin/gopher-lua Lua 5.1 Reference Manual - contentshttp://www.lua.org/manual/5.1/ Extending Lua with Go types – Marin Atanasov Nikolov – A place about Open Source Software, Operating Systems and some …

Golang lua交互——gopher-lua中call函数使用

gopher-lua github: https://github.com/yuin/gopher-lua 这是目前github中最受欢迎的一个用于golang和lua交互的开源库,在做项目时需要用到其中的call函数,由于与c的lua_call有些区别,因此在这里介绍一下call函数的用法 golang和lua交互的…

【Go-Lua】Golang嵌入Lua代码——gopher-lua

Lua代码嵌入Golang Go版本:1.19 首先是Go语言直接调用Lua程序,并打印,把环境跑通 package mainimport lua "github.com/yuin/gopher-lua"func main() {L : lua.NewState()defer L.Close()// goerr : L.DoString(print("go g…