第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果編譯器只是一個太舊的點發(fā)布,有沒有辦法讓 Golang 編譯失?。?/h1>

如果編譯器只是一個太舊的點發(fā)布,有沒有辦法讓 Golang 編譯失?。?/h1>
Go
倚天杖 2021-11-29 16:22:36
具體來說,對于我們的下一個軟件版本,我想確保捕獲在 go 1.5.2 中發(fā)布的錯誤修復(fù);如果我們的構(gòu)建服務(wù)器嘗試使用 Go 1.5.1 或更早版本構(gòu)建我的代碼,有沒有辦法使構(gòu)建失敗?我知道構(gòu)建約束,我可以看到如何添加“go1.5”的構(gòu)建約束以確保使用“1.5 或更高”編譯器,但“go1.5.2”不起作用(似乎未定義構(gòu)建標記 go1.5.1 和 go1.5.2。)在相關(guān)說明中,我也找不到一種方法來轉(zhuǎn)儲適用于構(gòu)建的構(gòu)建標簽,但這似乎是一件非常有用的事情。
查看完整描述

1 回答

?
呼喚遠方

TA貢獻1856條經(jīng)驗 獲得超11個贊

您可以使用-ldflags傳遞配置的 min golang 構(gòu)建并在 init() 時間檢查運行時是否與指定版本匹配。


package main


import "runtime"


// go run -ldflags "-X main.minGoVersion=go1.5.1" main.go


// from http://stackoverflow.com/questions/18409373/how-to-compare-two-version-number-strings-in-golang

func VersionOrdinal(version string) string {

    // ISO/IEC 14651:2011

    const maxByte = 1<<8 - 1

    vo := make([]byte, 0, len(version)+8)

    j := -1

    for i := 0; i < len(version); i++ {

        b := version[i]

        if '0' > b || b > '9' {

            vo = append(vo, b)

            j = -1

            continue

        }

        if j == -1 {

            vo = append(vo, 0x00)

            j = len(vo) - 1

        }

        if vo[j] == 1 && vo[j+1] == '0' {

            vo[j+1] = b

            continue

        }

        if vo[j]+1 > maxByte {

            panic("VersionOrdinal: invalid version")

        }

        vo = append(vo, b)

        vo[j]++

    }

    return string(vo)

}


var minGoVersion string


func init() {

    if minGoVersion == "" {

        panic("please pass  -ldflags \"-X main.minGoVersion=<version string> flag\"")

    }


    current := VersionOrdinal(runtime.Version())

    desired := VersionOrdinal(minGoVersion)

    if current < desired {

        panic("unsupported golang runtime " + current + " < " + desired)

    }

}


func main() {


}



查看完整回答
反對 回復(fù) 2021-11-29
  • 1 回答
  • 0 關(guān)注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號