2020-10-02golang如何寫一個插件?

      網(wǎng)友投稿 944 2025-04-02

      福哥答案2020-10-02:#福大大架構(gòu)師每日一題#


      簡單回答:

      buildmode=plugin

      plugin.Open

      p.Lookup

      [中級回答:](https://www.zhihu.com/question/423802485)

      golang的plugin是使用-buildmode=plugin 的編譯flag編譯出的軟件包,用于生成共享庫(.so)庫文件。 Go包中導(dǎo)出的函數(shù)和變量顯示為ELF符號,可以在另一個golang程序中使用golang中的`plugin`包在運(yùn)行時查找和綁定它們。

      先寫這樣一段plugin代碼:

      ```go

      package main

      import "fmt"

      // 包含一個簡單函數(shù)的模塊

      func Add(a int, b int) int {

      fmt.Printf("\nAdding a=%d and b=%d", a, b)

      return a + b

      }

      ```

      用下面的指令編譯成plugin:

      go build -buildmode=plugin -o math.so

      然后可以在另外一個golang代碼中加載并調(diào)用編譯好的plugin:

      ```go

      // 加載plugin

      plugins, err := filepath.Glob("math.so")

      if err != nil {

      panic(err)

      }

      2020-10-02:golang如何寫一個插件?

      fmt.Printf("Loading plugin %s", plugins[0])

      p, err := plugin.Open(plugins[0])

      if err != nil {

      panic(err)

      }

      // 查找叫Add的函數(shù)

      symbol, err := p.Lookup("Add")

      if err != nil {

      panic(err)

      }

      addFunc, ok := symbol.(func(int, int) int)

      if !ok {

      panic("Plugin has no 'Add(int)int' function")

      }

      // 調(diào)用函數(shù)

      addition := addFunc(3, 4)

      fmt.Printf("\nAddition is:%d", addition)

      ```

      ***

      [評論](https://user.qzone.qq.com/3182319461/blog/1601595469)

      其他

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)從入門到精通
      下一篇:為什么您需要在線進(jìn)銷存管理系統(tǒng)?
      相關(guān)文章
      自怕偷自怕亚洲精品| 永久亚洲成a人片777777| 亚洲国产成人精品无码区在线观看| 精品国产日韩亚洲一区91| 亚洲爆乳无码精品AAA片蜜桃| 亚洲人成小说网站色| 亚洲 日韩 色 图网站| 亚洲国产成+人+综合| 亚洲成a人片毛片在线| 亚洲电影免费观看| 亚洲成人黄色在线| 亚洲中文字幕久久精品无码2021| 亚洲人成黄网在线观看| 亚洲欧洲另类春色校园网站| 2019亚洲午夜无码天堂| 亚洲天然素人无码专区| 亚洲丁香婷婷综合久久| 久久久久久久久无码精品亚洲日韩| 青青青亚洲精品国产| 亚洲第一区精品观看| 亚洲人成影院在线无码观看| 久久亚洲高清综合| 亚洲乱色熟女一区二区三区丝袜| 国产AV无码专区亚洲Av| 亚洲电影一区二区| 亚洲男女性高爱潮网站| 国产色在线|亚洲| 亚洲国产成人手机在线观看| 成人亚洲国产精品久久| 亚洲午夜精品久久久久久浪潮 | 91亚洲国产成人久久精品网站| 亚洲一区中文字幕久久| 亚洲嫩草影院在线观看| 中文字幕亚洲精品无码| 国产午夜亚洲精品不卡免下载| 亚洲日韩中文字幕日韩在线| 人人狠狠综合久久亚洲88| 久久久亚洲欧洲日产国码aⅴ| 亚洲一级视频在线观看| 亚洲美国产亚洲AV| 亚洲国产综合精品中文字幕 |