golang 自訂importpath

來源:互聯網
上載者:User

golang 的包匯入和其他語言有好多不一樣的地方,以下是一個自訂的匯入

golang 自訂匯入說明

  • 一個官方的說明

    比較簡單,就不翻譯了,主要是說我們可以通過添加meta 資料告訴包如何進行載入

For example,import "example.org/pkg/foo"will result in the following requests: https://example.org/pkg/foo?go-get=1 (preferred) http://example.org/pkg/foo?go-get=1 (fallback, only with -insecure)If that page contains the meta tag <meta name="go-import" content="example.org git https://code.org/r/p/exproj">the go tool will verify that https://example.org/?go-get=1 contains thesame meta tag and then git clone https://code.org/r/p/exproj intoGOPATH/src/example.org.
  • 參考
package mainimport (    "log"    // 自訂的地址,實際是從github 匯入包    "rongdemo.com")func main() {    log.Println(shortid.Generate())}

具體操作

  • 修改hosts(我沒有rongdemo.com的網域名稱),同時我使用的說本機
/etc/hosts127.0.0.1       rongdemo.com
  • 添加一個靜態web網站,並添加meta 資料
yarn inti -yyarn add live-server --dev修改package.json{"name": "golang-web-package","version": "1.0.0","main": "index.js","license": "MIT","devDependencies": {"live-server": "^1.2.0"},"scripts": {"start": "live-server"}}nano index.html<html><meta name="go-import" content="rongdemo.com git https://github.com/teris-io/shortid" /><body>golang package</body></html>
  • 啟動&&使用dep 管理組件
yarn startdep init
  • 效果

參考實現

gopkg.in

實現原理也是類似的

參考資料

https://github.com/niemeyer/gopkg
https://golang.org/cmd/go/#hdr-Remote_import_paths
https://github.com/rongfengliang/golang-customimport

    
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.