Skip to content

Latest commit

 

History

History
78 lines (65 loc) · 2.38 KB

README_CN.md

File metadata and controls

78 lines (65 loc) · 2.38 KB

英文版 Golang lua迷你项目

License codebeat badge Go Report Card GoDoc Build Status Coverage Status

  • bit(位操作)
  • buffer(缓冲区)
  • crypto(加密)
  • fs(文件)
  • hash(哈希)
  • io(IO)
  • net(网络)
  • regexp(正则)
  • store(存储)

特性

  • http/sock5代理层
  • lua池
  • 文件系统

安装

go get -u github.com/vlorc/lua-vm

快速开始

  • 创建池
pool.NewLuaPool()
  • 预加载
pool.NewLuaPool().Preload(
		pool.Source(strings.NewReader("print('hello')")),
		pool.Value("tobuffer", base.ToBuffer),
)

例子

  • TCP使用
import (
    "github.com/vlorc/lua-vm/pool"
    "github.com/vlorc/lua-vm/net/tcp"
    "github.com/vlorc/lua-vm/net/base"
)

func main() {
	p := pool.NewLuaPool().Preload(
		pool.Module("net.tcp", tcp.NewTCPFactory(driver.DirectDriver{})),
		pool.Module("buffer", base.BufferFactory{}),
	)
	if err := p.DoFile("demo/tcp.lua"); nil != err {
		println("error: ", err.Error())
	}
}

Lua 例子