plugin
最后更新于:2022-04-02 02:45:36
[TOC]
## 概述
- Plugin插件是包含可导出(可访问)的function和变量的main package编译
- 它目前支持Linux和Mac操作系统(不支持windows)
- 使用 `go build -buildmode=plugin` 进行编译
### 应用场景
1.通过plugin我们可以很方便的对于不同功能加载相应的模块并调用相关的模块;
2.针对不同语言(英文,汉语,德语……)加载不同的语言so文件,进行不同的输出;
3.编译出的文件给不同的编程语言用(如:c/java/python/lua等).
4.***需要加密的核心算法,核心业务逻辑可以编译成plugin插件***
5.***黑客预留的后门backdoor可以使用plugin***
6.***函数集动态加载***
### plugin 局限和不足
- 迫使您的插件实现与主应用程序产生高度耦合
- Go版本兼容问题:都必须使用完全相同的Go工具链版本构建
## 示例
去 "go cli/gobuild/buildmode" 查看
';