Skip to content

1.GO搭建

go下载地址,https://go.dev/dl/

或者,https://golang.google.cn/dl/

或者,https://studygolang.com/

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:项目源文件目录,高版本不在使用这个
shell
$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

解压、下载省略

配置环境变量

shell
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

  • 安装code runner,运行脚本

2.1.1配置setting

  • 自动完成未导入的包
json
 "go.autocompleteUnimportedPackages": true,
 "go.autocompleteUnimportedPackages": true,
  • 显示包代码提示
json
 "go.inferGopath": true,
 "go.inferGopath": true,
  • 设置引用子级包下的函数跳转,如"gonote/util" 的util内的函数,
json
 "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模板

go
/**
  @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自动生成

参考文档,https://go.dev/doc/cmd

4.调试工具

https://github.com/bloomrpc/bloomrpc/