日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
面試官:你有自己的開源庫么?

本文轉(zhuǎn)載自微信公眾號「GoLang全?!?,作者小錕哥哥。轉(zhuǎn)載本文請聯(lián)系GoLang全棧公眾號。

目前創(chuàng)新互聯(lián)已為上千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、富錦網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

面對一個新功能,我們一般第一想到的就是有沒有這樣的庫可以直接使用呀?

所以,我們在開發(fā)中做的最多的就是拉庫。

但是隨著我們代碼越寫越牛,往往會有很多自己常用的庫,很多人可能就是在下一個項(xiàng)目里面去拷貝上一個項(xiàng)目里面的代碼。

但是這樣貌似不太高級。

我們是否可以像別的大牛一樣,發(fā)布自己的庫給別人用呢?

答案是肯定的。

于是這篇文章我們就來一步一步的帶大家把自己的庫發(fā)布到 Github 上。

新建項(xiàng)目

首先我們需要在 Github 上新建一個公開項(xiàng)目:

這里一定要選 Public 類型,否則常規(guī)的 go get 拉取代碼時會無法拉取。

項(xiàng)目名字你隨意,我這里就叫 kud 隨便取的。

準(zhǔn)備代碼

我們新建一個項(xiàng)目,在里面初始化好 go mod,我想現(xiàn)在庫管理的,應(yīng)該沒有用其他的工具了吧。

在項(xiàng)目下面執(zhí)行:

go mod init github.com/GoLangStackDev/kud

這里的 github.com/GoLangStackDev/kud 是你的倉庫地址,在你新建倉庫后的提示頁面里面可以看到:

記住不要帶上 .git !!!

記住不要帶上 .git !!!

記住不要帶上 .git !!!

隨后你就能看到你的 go.mod 文件長成了這樣:

module github.com/GoLangStackDev/kud

go 1.17

go 1.17 是我本地的 go 版本,可能和你的不一樣,這個不影響。

開始編寫代碼

到這里你就可以開始寫你的代碼了。

這里我就隨便寫點(diǎn)代碼,新建一個 string.go 文件,寫入下面的代碼:

package kud

import (
"math/rand"
"time"
)

// GetRandomString 生成隨機(jī)字符串
func GetRandomString(l int) string {
str := "23456789abcdefghijkmnpqrstuvwxyz"
bytes := []byte(str)
result := []byte{}
r := rand.New(rand.NewSource(time.Now().UnixNano()))
for i := 0; i < l; i++ {
result = append(result, bytes[r.Intn(len(bytes))])
}
return string(result)
}

寫完后,就可以上傳到倉庫里面了。

上傳代碼部分這里就省略了哈。

發(fā)版本

當(dāng)你代碼上傳成功后,就可以像使用其他三方庫一樣,直接 go get 拉取就好了。

但是這樣會有一個問題,每次拉取他都會獲取你 master 分支里面的最新的代碼。

拉下來就像這樣:

$ go get github.com/GoLangStackDev/kud
go get: added github.com/GoLangStackDev/kud v0.0.0-20220111073608-36510a889cc4

他會默認(rèn)給你取名叫 v0.0.0版本。

怎么發(fā)版?

發(fā)版也很簡單,只需要給你的代碼打 tag 就好了。

但是這個 tag 版本的格式必須得是 vx.x.x 這樣的三位,否者 go mod 會找不到版本號。

如何打 tag 不做贅述:

我這里我給打了 v0.1.1 的 tag 。

此時我們就可以按版本拉代碼了:

$ go get github.com/GoLangStackDev/kud@v0.1.1
go get: upgraded github.com/GoLangStackDev/kud v0.0.0-20220111073608-36510a889cc4 => v0.1.1

使用

使用和別的庫沒任何區(qū)別:

package main

import (
"fmt"
"github.com/GoLangStackDev/kud"
)

func main() {
fmt.Println(kud.GetRandomString(3))
}

你學(xué)廢了嗎?

快去上傳你的庫吧!


標(biāo)題名稱:面試官:你有自己的開源庫么?
路徑分享:http://www.dlmjj.cn/article/dpcgppc.html