本文目錄一覽:
golang私有倉庫依賴配置
golang私有倉庫依賴配置
版本要求:go 1.14+
go mod 配置:
go env -w GOPRIVATE=”gitlab.xxx.com” //配置私有倉庫域名 :重要
go env -w GONOPROXY=”gitlab.xxx.com” //此配置下的域名默認不走代理
go env -w GONOSUMDB=”gitlab.xxx.com” //此配置下的域名默認不進行gosumdb校驗
go env -w GOINSECURE=”gitlab.xxx.com” //此配置下的域名默認採用http協議 。有些公司的私有倉庫採用http協議,而go mod默認採用 https,請根據實際情況進行配置:重要
賬戶及密碼:
因私有倉庫一般都需要進行登錄,所以可以通過隱藏文件進行用戶名及密碼配置。
文件路徑:~/.netrc //默認Linux系統,
文件內容:
machine 域名 //gitlab.xxx.com
login 賬號
password 密碼
golang中自定義包
golang中默認以文件夾名作為包名,導入的文件的路徑為$GOPATH/src
例如我們在 $GOPATH/src下面建立一個gopackage的一個文件夾,下面建立一個abc.go的文件,文件內容如下
則我們在包外部使用gopackage包中的函數時,導入格式是這樣的:
我們在abc.go文件中需要導出的函數的首字母都是大寫的,這是因為 只有首字母大寫的標識符才可以導出 ,mutiply(int,int)int函數不可以被導出,編譯失敗。
當我們使用多個自定義包時如果發生衝突,怎麼辦呢,我們可以給不同的包提供不同的別名
如果abc.go文件中包名不是文件夾的名字,如
則在外部導入是,golang會自動為該包提供別名
mac下打patch後編譯安裝golang
因為業務上的需求,架構師改了hack了一下golang的源碼,放出一個patch文件,給源碼打了patch之後,需要重新編譯go源碼,
我是用 brew 安裝的golang, 先用 go env 看看
鎖定了源碼的路徑: /usr/local/Cellar/go/1.7.5/libexec
Go從1.5版本開始實現“自舉”(Bootstrap),也就是用Go來實現Go、用Go來編譯Go,因此這裡的意思是系統默認用go1.4來編譯golang,
但是我的系統裡面並沒有go1.4,這裡偷個懶
等待編譯測試完成即可。
Mac系統下徹底刪除golang的方法
Mac系統下徹底刪除golang的方法
首先打開終端輸入命令
可以看到go的安裝相關路徑,一般默認情況下在是 /usr/local/go
同時可以執行命令
查看go的相關信息,以及使用命令
查看go相關的配置信息
現在正是開始怎麼徹底刪除Mac中的golang吧
第一步:
在root模式下刪除go的安裝包,執行命令:
第二步:
清除go默認的配置信息,執行命令:
第三步:
刪除mac下變量環境,先打開終端命令窗口,執行命令:
刪除相關信息,以下是我的信息有點多,你的安裝看具體情況
以上編輯完畢後,按鍵盤上esc鍵,然後輸入
保存成功
重啟bash_profile,,在終端命令窗口輸入如下:
ok!it’s over!
golang如何創建目錄
golang中關於目錄與文件名等操作都在os這個包中,具體的創建目錄都是通過Mkdir和MkdirAll這2個函數來實現的,這兩個函數用法一致
os.Mkdir(dirName string, perm FileMode)
dirName即要創建的目錄(文件夾路徑),可以是絕對路徑,也可以是相對路徑(相對於GOPATH)
perm表示創建的目錄的權限,如0777(讀r權限值為4,寫權限w值為2,執行權限x值為1)
如:我要在/data/program/goapp這個目錄下創建一個golang這個子目錄,示例如下:
package main
import (
“os”
“fmt”
)
func main() {
err := os.Mkdir(“/data/program/goapp/golang”, 0666)
if err != nil {
fmt.Println(err)
}
}
註:Mkdir和MkdirAll的區別
Mkdir創建目錄,它的父級目錄必須是存在的,不然創建會失敗
MkdirAll可以遞歸創建目錄,即只要根目錄存在即可,如下:
err := os.MkdirAll(“/data/program/goapp/golang/test/hello”, 0766)
if err != nil {
fmt.Println(err)
}
本例中:/data/program/goapp是已經存在的目錄,而子目錄golang/test/hello是不存在,此時要使用MkdirAll來創建
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/150739.html