## window操作
打開官網 https://golang.google.cn/ 下載最新版本得 安裝包
然后一頓操作安裝好。

檢查環境變量 未配置可以手動配置 一般會自動配置
參考:https://blog.csdn.net/adolphkevin/article/details/90274378

下載安裝完畢后 ,打開cmd窗口,輸出 go version 指令

cmd輸入 go env 可查看配置
信息

```
set GO111MODULE=on
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\Administrator\AppData\Local\go-build
set GOENV=C:\Users\Administrator\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\Administrator\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\Administrator\go
set GOPRIVATE=
set GOPROXY=https://goproxy.cn,direct
set GOROOT=D:\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=D:\Go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.17.5
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=NUL
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\ADMINI~1\AppData\Local\Temp\go-build940062871=/tmp/go-build -gno-record-gcc-switches
```

以上只是命令的其中一部分,集體詳情在命令行:go help environment
GO111MODULE
```
set GO111MODULE=on
```
go語言提供GO111MODULE環境變量三個值,用于GO111MODULE的開關:
* auto:只要項目中包含了go.mod這個文件,就啟動該項目的go modules,在 Go1.11 至 Go1.14 中仍然是默認值。
* on:啟動go modules
* off:關閉go modules
這玩意必須開著,不然沒辦法用github上的包,也就是項目沒辦法引入其他模塊,開啟方法,cmd 輸入下面指令
```
go env -w GO111MODULE=on
```
GOPROXY
```
set GOPROXY=https://goproxy.cn,direct
```
GOPROXY的值是一個以英文逗號 “,” 分割的 Go 模塊代理列表,允許設置多個模塊代理,假設你不想使用,也可以將其設置為 “off” ,這將會禁止 Go 在后續操作中使用任何 Go 模塊代理。
go env中默認的代理是GOPROXY="https://proxy.golang.org,direct",但是在國內是無法訪問的,這里需要設置成國內的代理地址
cmd 輸入下面指令之一
```
go env -w GOPROXY=https://goproxy.cn,direct
```
```
go env -w GOPROXY=https://goproxy.io,direct
```
打開 vs code 安插GO插件,這個必須裝

Code Runner 代碼快捷運行, 可以運行片段,十分強大,推薦安裝

安裝之后 新建一個文件 選GO語言

?
運行或保存會彈窗 安裝依賴包 選擇全安裝 install all 等待安裝完畢,如果這里改了GOPROXY就沒問題,可以安裝好


完成上面步驟就可以寫go代碼了,但是到后面發現,我需要用到github上的包,就需要有這個go.mod才能使用
在set GOPATH=C:\Users\Administrator\go
路徑下創建一個項目(也可以隨便路徑,這個沒要求)ay66555\ay66544\goone,ay66555模擬github.com,ay66544模擬賬號,goone是最終的項目名稱。但是github上一般項目都是這種形式(github.com/username/itemname)
目錄和文件結構

按shifte+右擊 可以goone目錄下打開命令窗口,然后執行 go mod init ay66555/ay66544/goone 指令初始化goone項目的mod文件

執行完初始化操作后生成了一個go.mod的文件,里面只記錄了2行

* module:用于定義當前項目的模塊路徑
* go:用于標識當前模塊的 Go 語言版本,值為初始化模塊時的版本,目前來看還只是個標識作用
.
這個go bin也要設置也是set GOPATH=C:\\Users\\Administrator\\go 里面的bin文件。
```
go env -w GOBIN=/Users/Administrator/go/bin
```
在hello目錄下寫一個main.go,運行起來這樣就完美了
```
package?main
import"fmt"
funcmain()?{
????fmt.Println("hello,world")
}
```
參考:https://blog.csdn.net/qq_30549833/article/details/89569532
參考:https://blog.csdn.net/weixin_42656358/article/details/108847917
參考:https://www.cnblogs.com/wt11/p/11340386.html
- 安裝開發環境
- 安裝開發環境
- 安裝詳細教程
- 引入包
- Go語言基礎
- 基本變量與數據類型
- 變量
- 數據類型
- 指針
- 字符串
- 代碼總結
- 常量與運算符
- 常量
- 運算符
- 流程控制
- if判斷
- for循環
- switch分支
- goto跳轉
- 斐波那契數列
- Go語言內置容器
- 數組
- 切片
- 映射
- 函數
- 函數(上)
- 函數(中)
- 函數(下)
- 小節
- 包管理
- 結構體
- 結構體(上)
- 結構體(中)
- 結構體(下)
- 小節
- 錯誤處理
- 錯誤處理
- 宕機
- 錯誤應用
- 小節
- 文件操作
- 獲取目錄
- 創建和刪除目錄
- 文件基本操作(上)
- 文件基本操作(中)
- 文件基本操作(下)
- 處理JSON文件
- 接口與類型
- 接口的創建與實現
- 接口賦值
- 接口嵌入
- 空接口
- 類型斷言(1)
- 類型斷言(2)
- 小節
- 并發與通道
- goroutine協程
- runtime包
- 通道channel
- 單向通道channel
- select
- 線程同步
- 多線程的深入學習
- http編程
- http簡介
- Client和Request
- get請求
- post請求
- 模塊函數方法
- 模塊
- fmt庫,模塊
- 項目練習
- 爬蟲:高三網
- 爬蟲:快代理
- 爬蟲:快代理2
- 多線程:通道思路
- 多線程爬蟲:快代理