当前位置: 首页 > 网络应用技术

Golang:插件 - 插件简介

时间:2023-03-05 19:10:16 网络应用技术

  GO 1.8版本开始提供一个用于创建共享库的新工具,称为插件。

  插件是带有导出功能和变量的GO主包,已构建:

  插件插件是一个函数和变量,包含可导出的(可访问)。

  主要软件包

  complied()文件。

  同时,官方文档还提醒:目前仅在Linux和MacOS上支持插件。它目前支持Linux和Mac操作系统(不支持Windows)

  官方文件地址

  首先打开插件时,调用了所有软件包的初始功能,而不是程序的Alream部分。主要功能不运行。

  打开并加载插件插件,插件的初始化功能开始执行。也就是说,在执行主函数之前,插件的初始功能未执行。插头仅是初始化的,不能关闭。

  使用插件的主要生命周期

  此示例显示了两个方面:

  直接在代码libragen/felix/blob/master/plugin/plugin_bad_docter.go上

  编写插件插件的要点

  汇编完成后使用编译插件

  使用加载插件的基本过程

  远程外壳脚本内容

  libragen/felix/blob/master/plugin/use_plugin_example.go

  GO插件不是一个成熟的解决方案。它迫使您的插头与主要应用程序达到高水平的耦合。即使您可以控制插头和主应用程序,最终结果也非常脆弱且难以维护。如果插件的作者到主应用程序是程序没有任何控制权,并且费用将更高。

  必须使用相同的GO工具链版本构建插件实现的实现。由于插件提供的代码将在与主代码相同的过程空间中运行,因此编译的二进制文件应与主应用程序100%兼容。

  希望您可以写下要点:

  代码和信息