Go 开发中的插件系统与密码学应用
1. 编写主函数以协调插件注册与执行
在开发过程中,我们需要创建 main() 函数来协调插件的注册过程并执行插件。以下是具体代码:
const PluginsDir = "../../plugins"
func main() {
var (
l *lua.LState
files []os.FileInfo
err error
f string
)
l = lua.NewState()
defer l.Close()
register(l)
if files, err = ioutil.ReadDir(PluginsDir); err != nil {
log.Fatalln(err)
}
for idx := range files {
fmt.Println("Found plugin: " + files[idx].Name())
f = fmt.Sprintf("%s/%s", PluginsDir, files[idx].Name())
if err := l.DoFile(f); err != nil {
log.Fatalln(err)
}
}
}
此代码的执行步骤如下:
1. 硬编码插件目录 :通过 const
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



