国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Go語言中的包管理工具之Go Path的使用

這篇具有很好參考價值的文章主要介紹了Go語言中的包管理工具之Go Path的使用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

GoLang 中常用的包管理的方式

1 )概述

  • 常用的有三種
    • Go Path
    • Go Vendor
    • Go Modules

2 )發(fā)展歷程

  • 早期go的包管理存在很大缺陷,甚至可以說沒有官方統(tǒng)一的包管理工具
    • 一方面官方在努力發(fā)布一些實驗性的包管理工具。
    • 同時也出現(xiàn)了很多社區(qū)開發(fā)的包管理工具。
    • 在官方和社區(qū)的包管理工具中,僅官方推薦的就達15種之多。
      • 比如go path, godep,glide, go vendor等等。
  • 雖然在前期 Go包管理工具處于百家爭鳴之態(tài), 但是主流的go的包管理
  • 我們只需要記住下面這三種主要的
    • 第一個是 Go Path (從go誕生的時候就支持)
    • 第二個是 Go Vendor (從 go 1.5 版本開始)
    • 第三個是 Go Modules (從 go 1.11 才開始支持)

關(guān)于 Go Path

1 ) 概述

  • 我們先來看看go語言,剛發(fā)布階段,是怎么去做包管理的
  • 在go語言的發(fā)布階段,主要是通過 Go Path 模式來進行包管理
  • Go Path 是最早的依賴包管理方式。從 2009.11.10 隨著第一個發(fā)布的第一個開源版本就有了
  • Go Path本質(zhì)上它不算是go的包管理工具,它只是提供了一個存放包的路徑的一個環(huán)境變量
  • Go Path 模式有一個很大的缺陷,就是它不支持依賴包的版本控制
  • 因為 Go Path 模式下,同一個包, 它的導入路徑是一樣的,這樣也就不支持依賴包的不同版本

2 ) Go Path模式Go Path路徑的區(qū)別

  • 需要注意的是,Go Path模式 和 Go Path路徑是兩個不同的概念
    • Go Path模式: 是指我們通過 Go Path, 來管理我們的包
    • Go Path路徑, 指的是 Go Path 這個環(huán)境變量的路徑
  • 不管我們使用哪種包管理方式都可以有 Go Path 路徑, 其包管理方式
    • 可能依賴 Go Path 路徑來實現(xiàn)
    • 也可能不需要 Go Path 路徑
  • 并不是設置 Go Path 路徑就一定使用了 Go Path 模式來管理我們的依賴包
  • 這一點是我們需要注意的

3 ) Go RootGo Path的區(qū)別

  • Go Root 是go的安裝目錄,存放的是go語言內(nèi)置的開發(fā)包和工具類,就類似Java的JDK
  • Go Path是go語言指定的工作空間,用于存放go工程代碼和第三方依賴包
  • 當然,如果我們使用 Go Modules 管理,我們的工程代碼也沒有必要一定要放在Go Path下
    • 需要注意的是,Go Path 目錄和 Go Root 目錄不能是同一個目錄
    • 這樣就會很容易導致項目中的包和標準庫重名而造成編譯出現(xiàn)問題
  • Go Path 是有默認值的,那在Go的1.8版本之前,Go Path 的環(huán)境變量默認是空的
    • 那從1.8版本開始呢,go開發(fā)包在安裝完成之后,就會給 Go Path 一個默認的目錄
  • 在Windows目錄下,它的默認目錄就是這個 %USERPROFILE%/go
    • 例如: c:\users\用戶名\go
  • 在Unix類型的操作系統(tǒng)下面,那它是在home目錄下面的go目錄當中
    • 例如: /home/用戶名/go
  • 我們可以通過 go env 指令來查看這兩個環(huán)境變量的具體路徑
    • Windows 上執(zhí)行這個 go env 這個命令
    • Linux環(huán)境,比如 redhat
      • 先查看操作系統(tǒng)的版本 cat /etc/redhat-release
      • 我們再執(zhí)行 go env | grep PATH

4 ) Go Pass是怎么配置的文章來源地址http://www.zghlxwxcb.cn/news/detail-770133.html

  • 在linux環(huán)境當中,如果我們希望不同的用戶具有不同的 Go Pass
  • 我們可以將 Go Pass 設置到這個 ~/.bash_profile 這個文件里面
    • 只會對當前登錄的這個用戶生效。比如當前登錄的用戶是張三
    • 那這種配置呢比較適合使用linux操作系統(tǒng)的開發(fā)者環(huán)境使用
  • 在線上部署的時候,我們可以設置到 /etc/profile 這個文件里面
    • 這個文件中的設置, 是對全部用戶都是有效的
    • 同時, 我們又可以將 GOBIN 這個環(huán)境變量加入到 PATH 變量中
    • 可以在這個 etc/profile 這個文件末尾, 增加這三個go的環(huán)境變量, 舉例~
      • export GOPATH = $HOME/mygopath$
      • export GOBIN = $GOPATH/bin$
      • export PATH = $PATH:$GOBIN$ 追加導出
  • 當我們開啟了Go Path模式, 我們的工程代碼就必須放在 Go Path 下面的 src 這個目錄下面
    • 即: $GOPATH/src
  • 當我們用到一些第三方依賴包的時候, 就需要通過 go get 命令去拉取

到了這里,關(guān)于Go語言中的包管理工具之Go Path的使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關(guān)文章

  • 【Golang中的Go Module使用】

    Golang中的Go Module是一個用于包管理和版本控制的工具。在本文中,我們將深入探討Go Module的相關(guān)知識,包括其定義、使用方法以及一些常見的應用場景。 Go Module是Golang中的包管理和版本控制工具,它的發(fā)展歷程、用法、意義以及相關(guān)指令都對于Golang開發(fā)者來說非常重要。在本

    2024年02月16日
    瀏覽(18)
  • 100天精通Golang(基礎入門篇)——第5天: Go語言中的數(shù)據(jù)類型學習

    100天精通Golang(基礎入門篇)——第5天: Go語言中的數(shù)據(jù)類型學習

    ?? 博主 libin9iOak帶您 Go to Golang Language.? ?? 個人主頁——libin9iOak的博客?? ?? 《面試題大全》 文章圖文并茂??生動形象??簡單易學!歡迎大家來踩踩~?? ?? 《IDEA開發(fā)秘籍》學會IDEA常用操作,工作效率翻倍~?? ?? 希望本文能夠給您帶來一定的幫助??文章粗淺,敬請批

    2024年02月08日
    瀏覽(35)
  • 【GoLang】哪些大公司正在使用Go語言

    【GoLang】哪些大公司正在使用Go語言

    前言: 隨著計算機科學和軟件開發(fā)的快速發(fā)展,編程語言的選擇變得愈加關(guān)鍵。 在這個多元化的編程語境中,Go語言(簡稱Golang)以其簡潔、高效、并發(fā)處理能力等特性逐漸受到業(yè)界關(guān)注。 越來越多的大型科技公司紛紛采用Go語言作為其軟件開發(fā)的首選語言,這種趨勢反映了

    2024年02月04日
    瀏覽(18)
  • 【Golang】Golang進階系列教程--為什么 Go 語言 struct 要使用 tags

    【Golang】Golang進階系列教程--為什么 Go 語言 struct 要使用 tags

    在 Go 語言中,struct 是一種常見的數(shù)據(jù)類型,它可以用來表示復雜的數(shù)據(jù)結(jié)構(gòu)。在 struct 中,我們可以定義多個字段,每個字段可以有不同的類型和名稱。 除了這些基本信息之外,Go 還提供了 struct tags,它可以用來指定 struct 中每個字段的元信息。 在本文中,我們將探討為什

    2024年02月15日
    瀏覽(40)
  • 100天精通Golang(基礎入門篇)——第12天:深入解析Go語言中的集合(Map)及常用函數(shù)應用

    100天精通Golang(基礎入門篇)——第12天:深入解析Go語言中的集合(Map)及常用函數(shù)應用

    ?? 博主 libin9iOak帶您 Go to Golang Language.? ?? 個人主頁——libin9iOak的博客?? ?? 《面試題大全》 文章圖文并茂??生動形象??簡單易學!歡迎大家來踩踩~?? ?? 《IDEA開發(fā)秘籍》學會IDEA常用操作,工作效率翻倍~?? ?? 希望本文能夠給您帶來一定的幫助??文章粗淺,敬請批

    2024年02月12日
    瀏覽(27)
  • Python中的包管理方法

    Python中的包管理方法

    在Python開發(fā)中,包管理與依賴問題一直是開發(fā)者頭疼的問題之一。隨著項目規(guī)模的增大和復雜性的增加,管理各種依賴包和解決版本沖突變得尤為重要。本文將分享解決Python中的包管理與依賴問題的方法和工具,幫助開發(fā)者更好地管理項目中的依賴關(guān)系,提高開發(fā)效率。 1.

    2024年02月09日
    瀏覽(19)
  • 包管理器 | 淺談幾個常用的包管理工具

    包管理器 | 淺談幾個常用的包管理工具

    目錄 ??? 前言 ?? npm ?? cnpm ?? yarn ?? pnpm ?? Bower ??? 參考文獻? ??? 參考資料 ?? 如果你是前端開發(fā)者,或多或少都會接觸到一些包管理工具,包管理工具是用于持續(xù)自動化程序的集合,例如安裝、升級、配置和刪除程序。使用包管理工具可以為前端開發(fā)解

    2024年02月13日
    瀏覽(29)
  • 【Go 基礎篇】Go語言中的defer關(guān)鍵字:延遲執(zhí)行與資源管理

    【Go 基礎篇】Go語言中的defer關(guān)鍵字:延遲執(zhí)行與資源管理

    在Go語言中, defer 是一種用于延遲執(zhí)行函數(shù)調(diào)用的。它提供了一種簡潔而強大的方式,用于在函數(shù)返回之前執(zhí)行一些必要的清理操作或者釋放資源。 defer 的靈活性和易用性使得它在Go語言中廣泛應用于資源管理、錯誤處理和代碼結(jié)構(gòu)優(yōu)化等方面。?????? 本篇博客將詳

    2024年02月11日
    瀏覽(28)
  • 第七十五回:Flutter中的包管理

    我們在上一章回中介紹了主題相關(guān)的內(nèi)容,本章回中將介紹 Flutter包管理 .閑話休提,讓我們一起Talk Flutter吧。 在移動開發(fā)中會使用各種各樣的包,比如Android開發(fā)中用于網(wǎng)絡操作的Okhttp包,包太多了就需要做統(tǒng)一的布署和管理,不然會讓項目混亂不堪。 Android早期使用Ant進行

    2024年02月12日
    瀏覽(91)
  • k8s的包管理工具helm

    k8s的包管理工具helm

    ?之前的這篇文章介紹了一開始接觸k8s的時候接觸到的幾個命令工具 kubectlkubeletrancherhelmkubeadm這幾個命令行工具是什么關(guān)系?-CSDN博客 Helm 是一個用于管理和部署 Kubernetes 應用程序的包管理工具。它允許用戶定義、安裝和管理 Kubernetes 應用程序的模板,這些模板被稱為 Charts。

    2024年01月22日
    瀏覽(42)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包