Go语言安装
-
Linux
可以在Go语言官网https://golang.org/dl/下载安装包,这里以go1.17.7.linux-amd64.tar.gz为例:- 执行
tar -C /usr/local -xzf go1.17.7.linux-amd64.tar.gz
,将安装包解压到 /usr/local 目录下。 - 编辑 ~/.bashrc 将
export PATH=$PATH:/usr/local/go/bin
命令添加到最后,然后执行source ~/.bashrc
使修改生效。 - 编辑 ~/.bashrc 文件,将命令
export GOPATH=/go
(目录可自己指定)添加到最后,然后执行source ~/.bashrc
使修改生效。
上面在 ~/.bashrc 配置,指针对当前用户,如果需要针对所有用户生效,那么需要在 /etc/profile 配置 上述操作。
- 执行
windows
安装完成后配置好环境变量
安装完成后,使用go version
或者 go env
命令检查是否安装成功:
GOROOT
Go 语言的安装目录
GOPATH
Go寻找依赖包时会根据GOPATH来寻找。
GOPATH约定目录约定有3个目录:
- src 存放源代码
- pkg 存放编译后生成的文件
- bin 存放编译后的可执行文件
使用go mod
go mod 是 go 1.11 新加的特性,用来支持包管理,开启 go mod 功能,cmd 或者 终端 输入:
go env -w GO111MODULE=on
设置代理
当我们写go需要下载第三方依赖包时,因为某些原因,不能成功下载,此时建议设置国内代理代理,cmd 或者 终端 输入:
go env -w GOPROXY=https://goproxy.cn,direct
goland IDE 配置go开发环境
工作日常,是在win上开发代码,Linux上编译运行代码,所以有必要配置好 goland + dlv 的远程调试代码环境。
首先需要在Linux 上安装go的调试器 dlv 。
- Linux 安装dlv
使用如下命令安装:
安装详细见:https://github.com/derekparker/delve/tree/master/Documentation/installationgo get github.com/go-delve/delve/cmd/dlv
使用详细参考:使用 dlv 和 gdb 调试go程序
-
远程调试
-
在 linux 上执行
# dlv --listen=:2345 --headless=true --api-version=2 exec ./main
如果需要传入参数,则:
# dlv --listen=:2345 --headless=true --api-version=2 exec ./main ./server.json
如果需要传入的参数是这种类型的:
./main --config=config.toml
,则:# dlv --listen=:2345 --headless=true --api-version=2 exec ./main -- --config=config.toml
如果 linux 上面的 dlv 和 win 上的 dlv 版本不一致,会报错,此时,我们可以使用
--check-go-version=false
来避免这个报错,但强烈建议保持一致。# dlv --listen=:2345 --headless=true --api-version=2 --check-go-version=false exec ./main
goland IDE 配置远程调试:
image.png然后 goland 上选择debug运行刚才配置的远程调试
-
-
快捷键
快捷键 作用 Ctrl + Shift + N
文件搜索 Ctrl + G
跳转指定行数 Ctrl + Alt + L
格式化代码 Ctrl + /
单行注释 Ctrl + Shift + /
多行注释 Ctrl + B
或F4
快速跳转到结构体或方法的定义位置 Ctrl + F
查找文本 Ctrl + Shift + F
全局查找 Ctrl + R
替换文本 Ctrl + N
快速搜索某个 struct 结构体所在的文件 Alt + 回车
自动导入需要导入的包 Shift + F6
重命名文件夹、文件、方法、变量名等 Ctrl + Shift + Alt + N
查找类中的方法或变量 Ctrl + X
删除当前光标所在行 Ctrl + D
复制当前光标所在行
配置vscode的go开发环境
- 安装go插件
-
ctrl + shift + p
输入 go,选择如下,安装相应的工具。
image.png
不过使用 vscode 发现,代码补全和重构方面功能还是不如 goland IDE。
-
快捷键
快捷键 作用 ctrl+b
隐藏 / 显示侧边栏 Shift+Ctl+O
搜索函数 ctrl+t
搜索结构体 ctrl+g
跳转到行 ctrl+p
跳转到文件 ctrl+shift+f
全局搜索 -
设置文件夹内文件过滤
文件 > 首选项 > 设置 > 选择User Settings tab ,打开 settings.json"files.exclude": { "**/.git": true, "**/.svn": true, "**/.hg": true, "**/CVS": true, "**/.DS_Store": true, "**/*.meta":true }
设置自动猜测文件编码
文件 > 首选项 > 设置
搜索 files.autoGuessEncoding 打钩 Auto Guess Encoding-
设置选中高亮,原生自带的选中高亮不明显,这里改一下。
文件 > 首选项 > 设置
搜索 workbench.colorCustomizations,点击Edit in seting.json,添加"editor.selectionHighlightBackground": "#581ee0", "editor.findMatchHighlightBorder": "#000000"
image.png 设置编辑字体大小
文件 > 首选项 > 设置 > 文本编辑器 > 字体禁用自动更新
文件 > 首选项 > 设置 > 搜索update mode并将设置更改为none。设置缩略图宽度
文件 > 首选项 > 设置 > 搜索缩略图-
设置打开的文件占用一个tab
- 双击打打开文件就会固定为一个tab
- 文件 > 首选项 > 设置
搜索并设置 "workbench.editor.enablePreview": false
这样设置,每次单击打开文件也会固定为一个tab
设置文件自动保存
hello world
新建 main.go,内容如下:
package main
import "fmt"
func main() {
fmt.Println("hello world")
}
使用命令编译并运行:go mod init main && go build && ./mian
附:vscode 其他插件推荐
Chinese
中文语言插件-
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
默认配置,显示文件中的空格,保持文件干净,让空格无处遁形One Monokai Theme
主题插件Material Icon Theme
图标美化插件,可以使得文件结构更加清晰bracket pair colorizer
给括号上色,避免一层层的括号难看,默认配置就行shell-format
shell 脚本代码格式化插件。Todo Tree
跟踪文件的todo,fixme-
Bookmarks
书签插件
ctrl+alt+K
创建或消除书签
ctrl+alt+j
跳转到前一个书签
ctrl+alt+l
跳转到后一个书签注意:需要设置一下,支持 在所有文件中跳转
Project Manager
管理多个项目Code Spell Checker
代码拼写检查filesize
显示文件大小hexdump
查看二进制文件GitLens
Git 源代码管理插件Git History
可以查看历次提交的作者、日期、Hash 值、提交内容、修改的文件等。