Go語(yǔ)言安裝
-
Linux
可以在Go語(yǔ)言官網(wǎng)https://golang.org/dl/下載安裝包,這里以go1.17.7.linux-amd64.tar.gz為例:- 執(zhí)行
tar -C /usr/local -xzf go1.17.7.linux-amd64.tar.gz,將安裝包解壓到 /usr/local 目錄下。 - 編輯 ~/.bashrc 將
export PATH=$PATH:/usr/local/go/bin命令添加到最后,然后執(zhí)行source ~/.bashrc使修改生效。 - 編輯 ~/.bashrc 文件,將命令
export GOPATH=/go(目錄可自己指定)添加到最后,然后執(zhí)行source ~/.bashrc使修改生效。
上面在 ~/.bashrc 配置,指針對(duì)當(dāng)前用戶,如果需要針對(duì)所有用戶生效,那么需要在 /etc/profile 配置 上述操作。
- 執(zhí)行
windows
安裝完成后配置好環(huán)境變量
安裝完成后,使用go version 或者 go env 命令檢查是否安裝成功:

GOROOT
Go 語(yǔ)言的安裝目錄
GOPATH
Go尋找依賴包時(shí)會(huì)根據(jù)GOPATH來(lái)尋找。
GOPATH約定目錄約定有3個(gè)目錄:
- src 存放源代碼
- pkg 存放編譯后生成的文件
- bin 存放編譯后的可執(zhí)行文件
使用go mod
go mod 是 go 1.11 新加的特性,用來(lái)支持包管理,開啟 go mod 功能,cmd 或者 終端 輸入:
go env -w GO111MODULE=on
設(shè)置代理
當(dāng)我們寫go需要下載第三方依賴包時(shí),因?yàn)槟承┰?,不能成功下載,此時(shí)建議設(shè)置國(guó)內(nèi)代理代理,cmd 或者 終端 輸入:
go env -w GOPROXY=https://goproxy.cn,direct
goland IDE 配置go開發(fā)環(huán)境
工作日常,是在win上開發(fā)代碼,Linux上編譯運(yùn)行代碼,所以有必要配置好 goland + dlv 的遠(yuǎn)程調(diào)試代碼環(huán)境。
首先需要在Linux 上安裝go的調(diào)試器 dlv 。
- Linux 安裝dlv
使用如下命令安裝:
安裝詳細(xì)見:https://github.com/derekparker/delve/tree/master/Documentation/installationgo get github.com/go-delve/delve/cmd/dlv
使用詳細(xì)參考:使用 dlv 和 gdb 調(diào)試go程序
-
遠(yuǎn)程調(diào)試
-
在 linux 上執(zhí)行
# dlv --listen=:2345 --headless=true --api-version=2 exec ./main如果需要傳入?yún)?shù),則:
# dlv --listen=:2345 --headless=true --api-version=2 exec ./main ./server.json如果需要傳入的參數(shù)是這種類型的:
./main --config=config.toml,則:# dlv --listen=:2345 --headless=true --api-version=2 exec ./main -- --config=config.toml如果 linux 上面的 dlv 和 win 上的 dlv 版本不一致,會(huì)報(bào)錯(cuò),此時(shí),我們可以使用
--check-go-version=false來(lái)避免這個(gè)報(bào)錯(cuò),但強(qiáng)烈建議保持一致。# dlv --listen=:2345 --headless=true --api-version=2 --check-go-version=false exec ./maingoland IDE 配置遠(yuǎn)程調(diào)試:
image.png然后 goland 上選擇debug運(yùn)行剛才配置的遠(yuǎn)程調(diào)試
-
-
快捷鍵
快捷鍵 作用 Ctrl + Shift + N文件搜索 Ctrl + G跳轉(zhuǎn)指定行數(shù) Ctrl + Alt + L格式化代碼 Ctrl + /單行注釋 Ctrl + Shift + /多行注釋 Ctrl + B或F4快速跳轉(zhuǎn)到結(jié)構(gòu)體或方法的定義位置 Ctrl + F查找文本 Ctrl + Shift + F全局查找 Ctrl + R替換文本 Ctrl + N快速搜索某個(gè) struct 結(jié)構(gòu)體所在的文件 Alt + 回車自動(dòng)導(dǎo)入需要導(dǎo)入的包 Shift + F6重命名文件夾、文件、方法、變量名等 Ctrl + Shift + Alt + N查找類中的方法或變量 Ctrl + X刪除當(dāng)前光標(biāo)所在行 Ctrl + D復(fù)制當(dāng)前光標(biāo)所在行
配置vscode的go開發(fā)環(huán)境
- 安裝go插件
-
ctrl + shift + p輸入 go,選擇如下,安裝相應(yīng)的工具。
image.png
不過(guò)使用 vscode 發(fā)現(xiàn),代碼補(bǔ)全和重構(gòu)方面功能還是不如 goland IDE。
-
快捷鍵
快捷鍵 作用 ctrl+b隱藏 / 顯示側(cè)邊欄 Shift+Ctl+O搜索函數(shù) ctrl+t搜索結(jié)構(gòu)體 ctrl+g跳轉(zhuǎn)到行 ctrl+p跳轉(zhuǎn)到文件 ctrl+shift+f全局搜索 -
設(shè)置文件夾內(nèi)文件過(guò)濾
文件 > 首選項(xiàng) > 設(shè)置 > 選擇User Settings tab ,打開 settings.json"files.exclude": { "**/.git": true, "**/.svn": true, "**/.hg": true, "**/CVS": true, "**/.DS_Store": true, "**/*.meta":true } 設(shè)置自動(dòng)猜測(cè)文件編碼
文件 > 首選項(xiàng) > 設(shè)置
搜索 files.autoGuessEncoding 打鉤 Auto Guess Encoding-
設(shè)置選中高亮,原生自帶的選中高亮不明顯,這里改一下。
文件 > 首選項(xiàng) > 設(shè)置
搜索 workbench.colorCustomizations,點(diǎn)擊Edit in seting.json,添加"editor.selectionHighlightBackground": "#581ee0", "editor.findMatchHighlightBorder": "#000000"image.png 設(shè)置編輯字體大小
文件 > 首選項(xiàng) > 設(shè)置 > 文本編輯器 > 字體禁用自動(dòng)更新
文件 > 首選項(xiàng) > 設(shè)置 > 搜索update mode并將設(shè)置更改為none。設(shè)置縮略圖寬度
文件 > 首選項(xiàng) > 設(shè)置 > 搜索縮略圖-
設(shè)置打開的文件占用一個(gè)tab
- 雙擊打打開文件就會(huì)固定為一個(gè)tab
- 文件 > 首選項(xiàng) > 設(shè)置
搜索并設(shè)置 "workbench.editor.enablePreview": false
這樣設(shè)置,每次單擊打開文件也會(huì)固定為一個(gè)tab
設(shè)置文件自動(dòng)保存
hello world
新建 main.go,內(nèi)容如下:
package main
import "fmt"
func main() {
fmt.Println("hello world")
}
使用命令編譯并運(yùn)行:go mod init main && go build && ./mian
附:vscode 其他插件推薦
Chinese
中文語(yǔ)言插件-
SFTP
ctrl+shift+p輸入sftp config{ "name": "jdy", "host": "114.67.xx.xx", "protocol": "sftp", "port": 22, "username": "root", "password": "xxx", "remotePath": "/root/code/cp_pythonvm", "uploadOnSave": false, "ignore": [ ".vscode" ] } trailing spaces
默認(rèn)配置,顯示文件中的空格,保持文件干凈,讓空格無(wú)處遁形One Monokai Theme
主題插件Material Icon Theme
圖標(biāo)美化插件,可以使得文件結(jié)構(gòu)更加清晰bracket pair colorizer
給括號(hào)上色,避免一層層的括號(hào)難看,默認(rèn)配置就行shell-format
shell 腳本代碼格式化插件。Todo Tree
跟蹤文件的todo,fixme-
Bookmarks
書簽插件
ctrl+alt+K創(chuàng)建或消除書簽
ctrl+alt+j跳轉(zhuǎn)到前一個(gè)書簽
ctrl+alt+l跳轉(zhuǎn)到后一個(gè)書簽注意:需要設(shè)置一下,支持 在所有文件中跳轉(zhuǎn)
Project Manager
管理多個(gè)項(xiàng)目Code Spell Checker
代碼拼寫檢查filesize
顯示文件大小hexdump
查看二進(jìn)制文件GitLens
Git 源代碼管理插件Git History
可以查看歷次提交的作者、日期、Hash 值、提交內(nèi)容、修改的文件等。


