欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

go mod 使用舊版本 版本號(hào)指定方式

 更新時(shí)間:2021年05月08日 09:44:43   作者:gs80140  
這篇文章主要介紹了go mod 使用舊版本 版本號(hào)指定方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

在使用go mod的過程中,發(fā)現(xiàn)不容易指定版本號(hào)

尤其是沒有打tag的,不知道怎么指定版本號(hào), 不知道有哪版本號(hào)

正常使用都沒有問題,但是當(dāng)引用的項(xiàng)目用了舊的代碼, 這時(shí)候必須使用舊的版本,無(wú)法指定版本,不知道如何入手

尤其是k8s.io不知道是什么鬼, 從哪里看它的代碼,只知道github.com

這個(gè)時(shí)候在 go.mod文件中 require 里面加上 github.com/kubernetes/cloud-provider 2bf8e45

此時(shí)會(huì)自動(dòng)生成版本號(hào), 其中 2bf8e45 這個(gè)是在github上找到源碼的特定的提交 commit 號(hào), 想使用舊版本的話, 找到對(duì)應(yīng)的tag或分支 找到 commit 號(hào)

這個(gè)commit號(hào)也可以使用tag號(hào)來替換

例如

k8s.io/cli-runtime => github.com/kubernetes/cli-runtime kubernetes-1.14.2

然后使用replace來替換,require里面的 github.com/kubernetes/cloud-provider 2bf8e45 會(huì)自動(dòng)變成

github.com/kubernetes/cloud-provider v0.0.0-20190516232619-2bf8e45c8454

此時(shí),我們把它刪除并復(fù)制到replace 里面

k8s.io/apiserver => github.com/kubernetes/apiserver v0.0.0-20190516230822-f89599b3f645
k8s.io/cloud-provider => github.com/kubernetes/cloud-provider v0.0.0-20190516232619-2bf8e45c8454
sigs.k8s.io/yaml => github.com/kubernetes-sigs/yaml v1.1.0

效果這樣的

原來使用的新版本號(hào)不用動(dòng),主要換了replace

補(bǔ)充:golang:比較版本號(hào)大小

看代碼吧~

package main
import (
	"fmt"
	"strings"
)
var (
	VersionBig = 1
	VersionSmall = 2
	VersionEqual = 0
)
func compareStrVer(verA, verB string) int {
	verStrArrA := spliteStrByNet(verA)
	verStrArrB := spliteStrByNet(verB)
	lenStrA := len(verStrArrA)
	lenStrB := len(verStrArrB)
	if lenStrA != lenStrB {
		panic("")
	}
	return compareArrStrVers(verStrArrA, verStrArrB)
}
func compareArrStrVers(verA, verB []string) int {
	for index, _ := range verA {
		littleResult := compareLittleVer(verA[index], verB[index])
		if littleResult != VersionEqual {
			return littleResult
		}
	}
	return VersionEqual
}
func compareLittleVer(verA, verB string) int {
	bytesA := []byte(verA)
	bytesB := []byte(verB)
	lenA := len(bytesA)
	lenB := len(bytesB)
	if lenA > lenB {
		return VersionBig
	}
	if lenA < lenB {
		return VersionSmall
	}
	return compareByBytes(bytesA, bytesB)
}
func compareByBytes(verA, verB []byte) int {
	for index, _ := range verA {
		if verA[index] > verB[index] {
			return VersionBig
		}
		if verA[index] < verB[index] {
			return VersionSmall
		}
	}
	return VersionEqual
}
func spliteStrByNet(strV string) []string {
	return strings.Split(strV, ".")
}
func main() {
	versionA := "1.2.3.54"
	versionB := "1.2.3.54"
	fmt.Println(compareStrVer(versionA, versionB))
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • GO實(shí)現(xiàn)文件上傳操作

    GO實(shí)現(xiàn)文件上傳操作

    這篇文章主要為大家詳細(xì)介紹了GO實(shí)現(xiàn)文件上傳操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Golang基于泛化調(diào)用與Nacos實(shí)現(xiàn)Dubbo代理

    Golang基于泛化調(diào)用與Nacos實(shí)現(xiàn)Dubbo代理

    這篇文章主要為大家詳細(xì)介紹了Golang如何基于泛化調(diào)用與Nacos實(shí)現(xiàn)Dubbo代理,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-04-04
  • Golang守護(hù)進(jìn)程用法示例分析

    Golang守護(hù)進(jìn)程用法示例分析

    這篇文章主要介紹了Golang守護(hù)進(jìn)程用法示例,創(chuàng)建守護(hù)進(jìn)程首先要了解go語(yǔ)言如何實(shí)現(xiàn)創(chuàng)建進(jìn)程,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-05-05
  • Go語(yǔ)言變量與基礎(chǔ)數(shù)據(jù)類型詳情

    Go語(yǔ)言變量與基礎(chǔ)數(shù)據(jù)類型詳情

    Go 是靜態(tài)(編譯型)語(yǔ)言,是區(qū)別于解釋型語(yǔ)言的弱類型語(yǔ)言(靜態(tài):類型固定,強(qiáng)類型:不同類型不允許直接運(yùn)算),下面文章將對(duì)其進(jìn)行詳細(xì)介紹,需要的朋友可以參考一下
    2021-09-09
  • Go 加密解密算法小結(jié)

    Go 加密解密算法小結(jié)

    加密解密在實(shí)際開發(fā)中應(yīng)用比較廣泛,常見的加解密分為三種,本文就詳細(xì)的介紹一下Go 加密解密算法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2022-01-01
  • golang實(shí)現(xiàn)基于channel的通用連接池詳解

    golang實(shí)現(xiàn)基于channel的通用連接池詳解

    這篇文章主要給大家介紹了關(guān)于golang實(shí)現(xiàn)基于channel的通用連接池的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • golang實(shí)現(xiàn)簡(jiǎn)單的udp協(xié)議服務(wù)端與客戶端示例

    golang實(shí)現(xiàn)簡(jiǎn)單的udp協(xié)議服務(wù)端與客戶端示例

    這篇文章主要介紹了golang實(shí)現(xiàn)簡(jiǎn)單的udp協(xié)議服務(wù)端與客戶端,結(jié)合實(shí)例形式分析了基于UDP協(xié)議的數(shù)據(jù)傳輸相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-07-07
  • golang執(zhí)行命令操作 exec.Command

    golang執(zhí)行命令操作 exec.Command

    這篇文章主要介紹了golang執(zhí)行命令操作 exec.Command,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • gtoken替換jwt實(shí)現(xiàn)sso登錄的排雷避坑

    gtoken替換jwt實(shí)現(xiàn)sso登錄的排雷避坑

    這篇文章主要為大家介紹了gtoken替換jwt實(shí)現(xiàn)sso登錄的排雷避坑,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 詳解Go?將在下個(gè)版本支持新型排序算法pdqsort

    詳解Go?將在下個(gè)版本支持新型排序算法pdqsort

    這篇文章主要介紹了Go?將在下個(gè)版本支持新型排序算法:pdqsort,而就Go支持pdqsort算法,在HN上引起了不少的討論,有人表示,我們研究排序算法這么久了,很驚訝我們還能想出能產(chǎn)生實(shí)際改進(jìn)的優(yōu)化方案。對(duì)此,你怎么看,快快上手體驗(yàn)一下吧
    2022-04-04

最新評(píng)論