日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

发布golang第三方包

發(fā)布時(shí)間:2023/12/3 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 发布golang第三方包 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

事情是這樣的,隨著公司的業(yè)務(wù)的增長。各種重復(fù)的工作越來約多。CV久了就想在進(jìn)一步的那啥,畢竟我懶,不是。我就想著能不能把那些重復(fù)cv的干脆寫成一個(gè)第三方包,進(jìn)行調(diào)用。咱不談那些啥封裝啥的,我也想過,我也做過。但無論咋封裝,總不可能跨項(xiàng)目吧,還是需要。。。

所幸,還是有方法的,來吧,讓我們發(fā)表第一個(gè)golang工具包

創(chuàng)建項(xiàng)目倉庫

  • 首先輸入倉庫的名字,我這里輸入simpleExample,用來做演示
  • 這里選擇public,公開。要不并不好拉
  • 選擇需要添加的文件(可選)
  • 鼠標(biāo)左鍵點(diǎn)擊create repository創(chuàng)建此倉庫
  • 完成后就有一個(gè)名為simpleExample的項(xiàng)目倉庫,如下圖所示。

    如果第三步全都沒選的話就是另外一個(gè)圖了

    這一步還是很簡單的,畢竟github,全球最大的程序員交友網(wǎng)站不是。2110年了相信大家還是都會(huì)用的,是實(shí)在不會(huì)的,可自行百度,或者Google。

    拉取倉庫,編輯示例代碼

    第一步,鼠標(biāo)左鍵點(diǎn)擊code

    第二步,點(diǎn)擊后面類似于粘貼板的東西,復(fù)制https的URL

    然后在cd到GOPATH中使用git,把這個(gè)項(xiàng)目clone下來

    例如,我在這里的使用的git命令如下

    git clone https://github.com/Golzaes/simpleExample.git

    執(zhí)行成功后使用 ls命令查看一下

    使用編輯器打開simpleExample這個(gè)項(xiàng)目文件夾,如下圖所示

    go module初始化

    + go mod init "github.com/Golzaes/simpleExample" - go mod init "github.com/組織名/項(xiàng)目名"

    注意:這里的一定是"github.com/組織名/項(xiàng)目名"這樣的格式

    創(chuàng)建文件夾與示例代碼

    // Example/example.go package exampleCodeimport "math/rand"// ReadNumber create random number func ReadNumber() int {// random number rangernr := 10// returns, as an int, a non-negative pseudo-random number in [0,n)return rand.Intn(rnr) }

    注意這里的函數(shù)名ReadNumber,首字母必須大寫!!!

    否則無法再外部調(diào)用此函數(shù)

    來個(gè)簡單的單元測試

    // Example/example_test.go package exampleCodeimport "testing"func TestReadNumber(t *testing.T) {tests := []struct {name stringwant int}{// TODO: Add test cases.{"exampleCode1",1,}, {"exampleCode2",2,}, {"exampleCode3",3,}, {"exampleCode4",4,},{"exampleCode5",5,},}for _, tt := range tests {t.Run(tt.name, func(t *testing.T) {if got := ReadNumber(); got != tt.want {t.Errorf("ReadNumber() = %v, want %v", got, tt.want)}})} }

    運(yùn)行測試

    有個(gè)測試過了,說明我們的代碼沒有問題,也可以外部調(diào)用

    推送與發(fā)布代碼

    使用以下命令,提交與push

    git add exampleCode/ git commit -am "add exampleCode" git push origin master

    仔細(xì)對比就會(huì)發(fā)現(xiàn),這里多了個(gè)exampleCode文件夾。到這里我們就已經(jīng)將代碼push到了github,接下來我們發(fā)布一個(gè),這樣我們可以在另外一個(gè)項(xiàng)目中以第三方包的形式使用

    第一步,點(diǎn)擊releases下面的create a new releases

    先 填寫標(biāo)簽號(hào)(常規(guī)格式是 x.y.z)例如我的v0.0.1,

    填寫發(fā)表的標(biāo)題,一般是項(xiàng)目名

    填寫簡介

    然后鼠標(biāo)左鍵點(diǎn)擊 左下方的publish release,進(jìn)行發(fā)布,發(fā)布完成后會(huì)自動(dòng)跳轉(zhuǎn)到如下圖所示的發(fā)布欄

    至此,發(fā)布部分就已經(jīng)完成了。那么自己來測試一下這個(gè)第三方包

    使用發(fā)布的第三方包

    新建一個(gè)項(xiàng)目、go mod init初始化、創(chuàng)建文件夾就不過多贅述了

    下載我們發(fā)布的包

    go get github.com/Golzaes/simpleExample/exampleCode

    在項(xiàng)目中import 這個(gè)包

    小結(jié)

    本文從創(chuàng)建倉庫開始到發(fā)布第三方包后到使用第三方包,這樣我們就可以跨項(xiàng)目使用啦。

    如果測試未完成,請重新查閱。尤其是注意點(diǎn)!!!

    總結(jié)

    以上是生活随笔為你收集整理的发布golang第三方包的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。