开源软件名称(OpenSource Name): theganyo/lua2go开源软件地址(OpenSource Url): https://github.com/theganyo/lua2go开源编程语言(OpenSource Language):
Lua
61.5%
开源软件介绍(OpenSource Introduction): Accessing Go via Lua
This module enables easy access to Go modules from LuaJit and therefore, NGINX with the LuaJit module. So if you need the capabilities of Go in your NGINX processing, you've come to the right place!
Note: Lua2Go is now available from LuaRocks: http://luarocks.org/modules/scottganyo/lua2go
To use (see also the example :
Write your Go module and export
your functions:
//export add
func add(operand1 int, operand2 int) int {
return operand1 + operand2
}
Build your go module as a shared library:
go build -buildmode=c-shared -o example.so example.go
Include a bit of setup in your Lua file:
local lua2go = require('lua2go')
local example = lua2go.Load('./example.so')
Register your extern
declarations from your header file (example.h
) in your Lua:
lua2go.Externs[[
extern GoInt add(GoInt p0, GoInt p1);
]]
Call your Go function from Lua (see example for more detail):
local result = lua2go.ToGo(example.add(1, 1))
Run your app:
luajit myapp.lua
Bask in the glory of all that you've accomplished!
To see how Lua2Go can be incorporated into NGINX, check out the benchmark example.
Enjoy!
请发表评论