成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

面試官:你有自己的開源庫么?

開源
面對一個新功能,我們一般第一想到的就是有沒有這樣的庫可以直接使用呀?所以,我們在開發中做的最多的就是拉庫。

本文轉載自微信公眾號「GoLang全?!?,作者小錕哥哥。轉載本文請聯系GoLang全棧公眾號。

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

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

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

但是這樣貌似不太高級。

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

答案是肯定的。

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

新建項目

首先我們需要在 Github 上新建一個公開項目:

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

項目名字你隨意,我這里就叫 kud 隨便取的。

準備代碼

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

在項目下面執行:

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 版本,可能和你的不一樣,這個不影響。

開始編寫代碼

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

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

package kud

import (
"math/rand"
"time"
)

// GetRandomString 生成隨機字符串
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)
}

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

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

發版本

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

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

拉下來就像這樣:

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

他會默認給你取名叫 v0.0.0版本。

怎么發版?

發版也很簡單,只需要給你的代碼打 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

使用

使用和別的庫沒任何區別:

package main

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

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

你學廢了嗎?

快去上傳你的庫吧!


責任編輯:武曉燕 來源: GoLang全棧
相關推薦

2015-08-13 10:29:12

面試面試官

2025-04-01 00:00:00

項目CRUD單例模式

2024-09-09 08:30:56

代碼

2024-07-26 08:10:10

2015-08-24 09:00:36

面試面試官

2021-11-25 10:18:42

RESTfulJava互聯網

2023-02-20 08:08:48

限流算法計數器算法令牌桶算法

2021-08-09 07:47:40

Git面試版本

2025-01-13 09:24:32

2021-09-26 10:57:16

集合操作場景

2024-04-02 09:45:27

線程池Executors開發

2024-02-26 14:07:18

2021-09-27 06:50:04

非線性數據

2025-06-04 07:48:46

2024-05-11 15:11:44

系統軟件部署

2024-04-19 00:00:00

計數器算法限流算法

2020-12-01 08:47:36

Java異常開發

2024-09-27 15:43:52

零拷貝DMAIO

2025-02-21 15:25:54

虛擬線程輕量級

2020-06-12 15:50:56

options前端服務器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美国产日韩在线观看 | 精品视频在线一区 | 日韩三级在线 | 亚洲一区二区三区桃乃木香奈 | 天天玩夜夜操 | 九九热免费在线观看 | 日韩精品免费一区 | 欧美精品网 | 色天堂影院 | 国产精品美女久久久久 | 九九热这里只有精品6 | 成人在线电影网站 | 四虎海外 | 日本 欧美 三级 高清 视频 | 国产精品美女久久久 | 国产一二三视频在线观看 | 韩日精品一区 | 欧美伦理一区 | 欧美日韩国产在线观看 | 特级丰满少妇一级aaaa爱毛片 | 天天干视频网 | 日韩av一区二区在线观看 | 色婷婷国产精品综合在线观看 | 成人av高清在线观看 | 嫩草伊人 | 免费日本视频 | 嫩草网 | 国内久久精品 | 亚洲精品福利在线 | 日韩视频中文字幕 | www.四虎.com | 免费日韩网站 | 一区二区在线 | 日韩免费av | 色网在线观看 | 羞羞视频在线网站观看 | 欧美激情一区二区三级高清视频 | 久久伊人精品一区二区三区 | 97在线观视频免费观看 | 日本精品久久久一区二区三区 | 成人性生交大片 |