https://github.com/blakeliafk/lua.go
https://github.com/blakeliafk/lua.go
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/blakeliafk/lua.go
- Owner: BlakeLiAFK
- Created: 2021-03-05T06:34:11.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-07-26T15:37:32.000Z (almost 2 years ago)
- Last Synced: 2025-02-07T08:23:31.615Z (4 months ago)
- Language: C
- Size: 1.15 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
#Lua.go
#### 特性
1. 完美支持Lua原生所有特性(当前lua版本5.4.3)
2. 打通Lua-Go之间的调用,通过反射支持导出Go struct给Lua无缝调用
· 支持直接访问 Go struct 的字段
· 支持直接调用 Go struct 的函数
3. 内建 protobuf/msgpack/cjson/serialize 4种序列化库(需调用OpenLibsExt())**_非常_ 重要**
1. goroutine并发, 需额外加锁!!
#### 关于性能
以我的iMac为例
> Go内部调用无敌 45亿次/秒
>> Lua调用内部函数是最快的 260w次/秒
>>> Lua调用Go导出的全局函数 60w次/秒
>>>> Lua调用Go导出的struct 15w次/秒示例
```
L := lua.NewState(nil)
L.OpenLibs()
L.OpenLibsExt()
if err := L.DoFile("examples/test.lua"); err != nil {
log.Println(err)
}
L.WaitClose()
```