1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        go mod 能指定 1.xx.x 版本么?

        共 1184字,需瀏覽 3分鐘

         ·

        2021-10-13 03:39

        這是一個(gè)小知識(shí)點(diǎn),不過估計(jì)不是每個(gè)人都知道。

        一個(gè)讀者在群里問到,我想要把 go.mod 中指定 go 版本的go 1.17?修改為go 1.17.1,希望我的項(xiàng)目最低要求 1.17.1。但是 Goland 老是把版本號(hào)修改回?go 1.17?是不是我哪里設(shè)置有問題?

        其實(shí)這里不是設(shè)置有問題,而是 go.mod 要求就是如此。

        指定 go 版本的地方叫 go directive 。它的格式是:


        GoDirective = "go" GoVersion newline .
        GoVersion = string | ident . /* valid release version; see above */

        其中所謂的 valid release version 為必須是像 1.17 這樣,前面是一個(gè)點(diǎn),前面是正整數(shù)(其實(shí)現(xiàn)在也只能是 1),后面是非負(fù)整數(shù)。


        The version must be a valid Go release version: a positive integer followed by a dot and a non-negative integer (for example, 1.9, 1.14).

        go 的版本形如 1.2.3-pre。一般最多由兩個(gè)點(diǎn)組成,其中 1 叫做 major version,主版本,非常大的改動(dòng)的時(shí)候才會(huì)升級(jí)這個(gè)版本。而 2 叫做 minor version,表示有一些接口級(jí)別的增加,但是會(huì)保證向后兼容,才會(huì)升級(jí)這個(gè)版本。而 3 叫做 patch version。顧名思義,一些不影響接口,但是打了一些補(bǔ)丁和修復(fù)的版本。而最后的 pre 叫做 pre-release suffix。我理解和 beta 版本一樣的概念,在 release 版本出現(xiàn)之前,預(yù)先投放在市場(chǎng)的試用版本。

        所以 go mod 中的格式只能允許 major version 和 minor version。它認(rèn)為,使用者關(guān)注這兩個(gè)版本號(hào)就行,他們能保證使用者在使用 golang 標(biāo)準(zhǔn)庫的時(shí)候源碼接口并沒有增加和修改,不管你使用什么 patch version,你的業(yè)務(wù)代碼都能跑起來。

        所以,結(jié)論是,goland 非常智能。




        推薦閱讀


        福利

        我為大家整理了一份從入門到進(jìn)階的Go學(xué)習(xí)資料禮包,包含學(xué)習(xí)建議:入門看什么,進(jìn)階看什么。關(guān)注公眾號(hào) 「polarisxu」,回復(fù)?ebook?獲??;還可以回復(fù)「進(jìn)群」,和數(shù)萬 Gopher 交流學(xué)習(xí)。

        瀏覽 59
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            99在线无码精品秘 入口蝌蚪 | 亚洲精品一区二区口爆 | 亚洲无码高清视频在线观看 | 精品有码 | 亚洲精品一区二区三 | 69精品无码一区二区三区 | 免费看污污的网站 | 豪妇荡乳1一5杨贵妃在线观看 | 成人免费A级毛片免费看无码 | av91肉丝一区二区电影 |