package test import ( "Yunlot/logs" "plugin" "testing" ) func TestNameplugin(t *testing.T) { // 根据库的存放路径加载库 p, err := plugin.Open("/var/lib/docker/volumes/yunlotso/_data/1698289330654.so") if err != nil { println(err) logs.PrintlnError("打开 SO 失败:", err) } // 查找库导出信息 s, err := p.Lookup("T") if err != nil { println(err) panic(any(err)) } // 类型转换 f := s.(func(t string, b []byte) string)("aaaaaaa", []byte("1234567")) // 开始处理 // 开始处理 logs.Println("协议后:", f) logs.Println("首字符:", string("123"[0])) }