[TOC]
## go mod
~~~
go mod download 下載依賴的module到本地cache(默認為$GOPATH/pkg/mod目錄)
go mod edit 編輯go.mod文件
go mod graph 打印模塊依賴圖
go mod init 初始化當前文件夾, 創建go.mod文件
go mod tidy 增加缺少的module,刪除無用的module
go mod vendor 將依賴復制到vendor下
go mod verify 校驗依賴
go mod why 解釋為什么需要依賴
~~~
### go get
在項目中執行`go get`命令可以下載依賴包,并且還可以指定下載的版本。
1. 運行`go get -u`將會升級到最新的次要版本或者修訂版本(x.y.z, z是修訂版本號, y是次要版本號)
2. 運行`go get -u=patch`將會升級到最新的修訂版本
3. 運行`go get package@version`將會升級到指定的版本號version
如果下載所有依賴可以使用`go mod download`命令。
### 整理依賴
我們在代碼中刪除依賴代碼后,相關的依賴庫并不會在`go.mod`文件中自動移除。這種情況下我們可以使用`go mod tidy`命令更新`go.mod`中的依賴關系。
### go mod edit
#### 格式化
因為我們可以手動修改go.mod文件,所以有些時候需要格式化該文件。Go提供了一下命令:
~~~bash
go mod edit -fmt
~~~
#### 添加依賴項
~~~
go mod edit -require=golang.org/x/text
~~~
#### 移除依賴項
如果只是想修改`go.mod`文件中的內容,那么可以運行`go mod edit -droprequire=package path`,比如要在`go.mod`中移除`golang.org/x/text`包,可以使用如下命令:
~~~bash
go mod edit -droprequire=golang.org/x/text
~~~
關于`go mod edit`的更多用法可以通過`go help mod edit`查看。
- Go準備工作
- 依賴管理
- Go基礎
- 1、變量和常量
- 2、基本數據類型
- 3、運算符
- 4、流程控制
- 5、數組
- 數組聲明和初始化
- 遍歷
- 數組是值類型
- 6、切片
- 定義
- slice其他內容
- 7、map
- 8、函數
- 函數基礎
- 函數進階
- 9、指針
- 10、結構體
- 類型別名和自定義類型
- 結構體
- 11、接口
- 12、反射
- 13、并發
- 14、網絡編程
- 15、單元測試
- Go常用庫/包
- Context
- time
- strings/strconv
- file
- http
- Go常用第三方包
- Go優化
- Go問題排查
- Go框架
- 基礎知識點的思考
- 面試題
- 八股文
- 操作系統
- 整理一份資料
- interface
- array
- slice
- map
- MUTEX
- RWMUTEX
- Channel
- waitGroup
- context
- reflect
- gc
- GMP和CSP
- Select
- Docker
- 基本命令
- dockerfile
- docker-compose
- rpc和grpc
- consul和etcd
- ETCD
- consul
- gin
- 一些小點
- 樹
- K8s
- ES
- pprof
- mycat
- nginx
- 整理后的面試題
- 基礎
- Map
- Chan
- GC
- GMP
- 并發
- 內存
- 算法
- docker