1.GO搭建
go下载地址,https://go.dev/dl/
或者,https://golang.google.cn/dl/
1.1win
安装
在c盘创建go目录
安装路径c:/go,其他安装都选择“下一步”即可
点击完成
go env验证是否安装成功
go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\app\AppData\Local\go-build
set GOENV=C:\Users\app\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\app\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\app\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=C:\Program Files\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=C:\Program Files\Go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.17.13
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 -fmessagld -gno-record-gcc-switches
go env验证是否安装成功
go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\app\AppData\Local\go-build
set GOENV=C:\Users\app\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\app\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\app\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=C:\Program Files\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=C:\Program Files\Go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.17.13
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 -fmessagld -gno-record-gcc-switches
配置win下环境变量
电脑---》属性----》高级系统设置----》环境变量设置----》系统环境变量-----》PATH--》新建---》粘贴go bin 路径--》确定
在任何目录执行go 命令
go version
在任何目录执行go 命令
go version
配置go环境变量
名字 | 说明 |
---|---|
GOROOT | 目录指的是go环境的安装目录,go的编译器、标准库等都存放在这个目录下 |
GOPATH | 指的是项目的开发目录,存在三个目录结构,分别是src、pkg、bin目录 bin:编译文件目录(第三方编译出的可执行文件都在这个目录下)、pkg第三方包目、src:项目源文件目录,高版本不在使用这个 |
$go env
//go111 是从1.11版本之后开始支持
//开启mod模式(项目管理需要用到)
$ go env -w GO111MODULE=on
//重新设置成七牛镜像源(用原有的会比较慢)
$ go env -w GOPROXY=https://goproxy.cn,direct
//关闭包的MD5校验
$ go env -w GOSUMDB=off
$go env
//go111 是从1.11版本之后开始支持
//开启mod模式(项目管理需要用到)
$ go env -w GO111MODULE=on
//重新设置成七牛镜像源(用原有的会比较慢)
$ go env -w GOPROXY=https://goproxy.cn,direct
//关闭包的MD5校验
$ go env -w GOSUMDB=off
配置git
https://www.git-scm.com/download/
安装一路默认
环境变量参考go
1.2Linux
解压、下载省略
配置环境变量
vim /etc/profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/GolangProjects
export GOPROXY=https://goproxy.cn,direct
export GO111MODULE=on
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
#刷新生效
source /etc/profile
#查看版本
$ go version
vim /etc/profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/GolangProjects
export GOPROXY=https://goproxy.cn,direct
export GO111MODULE=on
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
#刷新生效
source /etc/profile
#查看版本
$ go version
2.GO开发工具
2.1vscode
vscode,https://code.visualstudio.com
插件参考,https://marketplace.visualstudio.com/items?itemName=golang.go
- 安装go插件
安装Go插件所依赖
go tools,上面的go插件会提示你安装它的一些依赖及工具
- 如果没有提示,可以点击右下角 Analysis Tools Missing。最后点击 Install 安装。
- 或者按ctrl+shift+p 调出命令面板,输入go install tools
#手动安装
go install golang.org/x/tools/gopls@v0.15.3
#安装最新
go install golang.org/x/tools/gopls@latest
#手动安装
go install golang.org/x/tools/gopls@v0.15.3
#安装最新
go install golang.org/x/tools/gopls@latest
- 安装code runner,运行脚本
2.1.1配置setting
- 自动完成未导入的包
"go.autocompleteUnimportedPackages": true,
"go.autocompleteUnimportedPackages": true,
- 显示包代码提示
"go.inferGopath": true,
"go.inferGopath": true,
- 设置引用子级包下的函数跳转,如"gonote/util" 的util内的函数,
"go.docsTool": "gogetdoc",
"go.docsTool": "gogetdoc",
修改 "go.docsTool" 为 gogetdoc,默认是 godoc
2.1.2推荐设置
"go.goroot": "",
"go.gopath": "",
"go.inferGopath": true,
"go.autocompleteUnimportedPackages": true,
"go.gocodePackageLookupMode": "go",
"go.gotoSymbol.includeImports": true,
"go.useCodeSnippetsOnFunctionSuggest": true,
"go.useCodeSnippetsOnFunctionSuggestWithoutType": true,
"go.docsTool": "gogetdoc",
"go.goroot": "",
"go.gopath": "",
"go.inferGopath": true,
"go.autocompleteUnimportedPackages": true,
"go.gocodePackageLookupMode": "go",
"go.gotoSymbol.includeImports": true,
"go.useCodeSnippetsOnFunctionSuggest": true,
"go.useCodeSnippetsOnFunctionSuggestWithoutType": true,
"go.docsTool": "gogetdoc",
2.1.3快捷键位置
File-》Preferences-》Keyboard shaortcuts
行注释,ctrl + /
块注释,shift+alt+a (可以修改成,ctrl+shift+/)
行删除,ctrl+shift+k
查找文件,ctrl + e
打开设置命令行, ctrl + shift + p
行注释,ctrl + /
块注释,shift+alt+a (可以修改成,ctrl+shift+/)
行删除,ctrl+shift+k
查找文件,ctrl + e
打开设置命令行, ctrl + shift + p
2.1.4快速生成代码片段
pkgm main包+main主函数
ff fmt.Printf("",var)
for for i :=0; i < count; i++ {}
forr for _, v := range v {}
fmain func main() {}
a.print! fmt.Printf("a: %v\n",a)
pkgm main包+main主函数
ff fmt.Printf("",var)
for for i :=0; i < count; i++ {}
forr for _, v := range v {}
fmain func main() {}
a.print! fmt.Printf("a: %v\n",a)
2.2goland
下载地址,https://www.jetbrains.com.cn/go/download/
打开Goland的设置,GoLand | Preferences | Plugins,搜索所需要的插件安装即可
- 常用插件
Rainbow Brackets
括号加上颜色
Goanno
功能: 1.普通函数 2.接口中的函数 3.支持自定义模版
FileWatchers
Goland可以在文件监听中集成常见的Go代码检查工具,如go fmt,goimports,golangci-lint,按提示安装这几个工具,并设置使用范围为Global,在文件发生变更的时候会自动触发这些工具,并给出代码检查结果提示
GitToolBox
该插件在当前代码编辑页面显示当前代码提交的用户名、时间、以及备注信息
Protocol Buffers
该插件可以渲染proto文件,高亮proto语法,并且可以链接proto文件互相引用
csv
CSV 是常用的文件扩展名。这不是一个很好的文件扩展名,但有时你以 CSV 格式获取数据,需要对其进行处理。CSV 插件可让你做到这一点
git commit template
Material
主题
Goland ---> File ---> Editor ---> Color Scheme ---> General
CodeGlance pro
旁边浏览框
设置package模板
/**
@author: ${USER}
@since: ${DATE}
@desc: //TODO
**/
package ${GO_PACKAGE_NAME}
/**
@author: ${USER}
@since: ${DATE}
@desc: //TODO
**/
package ${GO_PACKAGE_NAME}
go fmt
自动格式化代码
2.3快捷键
删除行: ctrl + L
重新格式化代码 ctrl + K
开始新行 ctrl +enter
删除行: ctrl + L
重新格式化代码 ctrl + K
开始新行 ctrl +enter
3.GO常用命令
在终端输入go help
即可显示所有的go命令
参数 | 说明 |
---|---|
build | 编译包和依赖 |
clean | 移除对象文件,go clean |
doc | 显示包或者符号的文档 |
env | 打印go 环境信息 |
bug | 启动错误报告 |
fix | 运行go tool fix |
fmt | 运行go fmt 进行格式化 |
generate | 从processing source 生成go文件 |
run | 运行go文件,go run main.go |
get | 下载并安装包和依赖,https://pkg.go.dev/ |
install | 编译并安装包和依赖 |
list | 列出包 |
run | 运行测试 |
tool | 运行go 提供的工具 |
version | 显示go版本 |
mod | 初始化项目,进行可以get下载,go mod init go_pro,goland自动生成 |