go安裝以及使用gomod、 goland設置


一、 安裝go

       1. 官網下載go安裝包,按照指引安裝即可,

       2. 推薦使用go1.12版本 ,它新增加了go mod用來管理依賴,並且不需要我們再刻意設置gopath環境變量

       3. 默認go會將$HOME/go目錄作為gopath,所有項目下載的依賴包都會存放在這個目錄下,我們不用再關心它。

           與python pip類似,默認pip會將$HOME/.pip這個目錄作為緩存目錄,go會將$HOME/go作為緩存目錄,在這個目錄同樣可以更改,只需要在環境變量設置即可,如下:

       4. 由於牆的原因,部分官方依賴無法下載,我們可以使用代理,設置如下:

linux:
export GOPATH=/usr/local/gopath
export GOPROXY=https://goproxy.io


windows: 添加環境變量
GOPATH
=D:\gopath
 GOPROXY=https://goproxy.io

 

二、 使用go mod

        1. 任意目錄創建項目目錄

            mkdir /home/mygo

        2. 進入到項目目錄

           cd  /home/mygo

        3. 初始化生成go.mod 文件

           go mod  init mygo   (這里mygo名字也可以叫其他名字,一般為了與項目名稱對應,就用項目名字)

        4. 項目目錄下會生成go.mod文件, 類似於python的requirements.txt文件。同時也生成一個go.sum文件,主要記載了下載包的哈希值用於校驗,我們用不到。

        5. go.mod文件一旦創建后,它的內容將會被go toolchain全面掌控。

            go toolchain會在各類命令執行時,比如執行go get、go build、go run、go mod等命令時,自動修改和維護go.mod文件,這點跟pip還是有區別的

        6. go.mod 提供了modulerequirereplaceexclude 四個命令

  •   module 語句指定包的名字(路徑)
  •   require 語句指定的依賴項模塊
  •   replace 語句可以替換依賴項模塊
  •   exclude 語句可以忽略依賴項模塊
  • $ cat go.mod
    
    module mygo
    
    go 1.12
    
    require (
        github.com/labstack/echo v3.3.10+incompatible // indirect
        github.com/labstack/gommon v0.2.8 // indirect
        github.com/mattn/go-colorable v0.1.1 // indirect
        github.com/mattn/go-isatty v0.0.7 // indirect
        github.com/valyala/fasttemplate v1.0.0 // indirect
        golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a // indirect
    )

     

        7. 可以使用命令 go list -m -u all 來檢查可以升級的package,

            使用go get -u need-upgrade-package 升級后會將新的依賴版本更新到go.mod文件中。

            也可以使用 go get -u 升級所有依賴。

       8. 由於某些已知的原因,並不是所有的package都能成功下載,比如:golang.org下的包。

           可以在 go.mod 文件中使用 replace 指令替換成github上對應的庫,來下載相應的包。比如:

          

replace (
    golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 => github.com/golang/cryptov0.0.0-20190701094942-4def268fd1a4
 )

或者:
replace golang.org
/x/crypto v0.0.0-20190701094942-4def268fd1a4 => github.com/golang/crypto v0.0.0-20190701094942-4def268fd1a4

     9. 設置goland

      https://www.cnblogs.com/congccy/p/10762257.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM