go 环境搭建
SDK下载
下载地址:
这两个那个下载快 用那个 都是镜像 ,官网被墙了(你懂得)官网地址
然后下载对应平台的安装包,例如我这里就是 win
平台
安装
下载完成后,双击安装包,一路下一步即可,这里使用的是1.19.5
版本
设置安装位置
测试是否安装成功
打开cmd
,执行go env
或者 go version
像这样表示安装成功
环境变量的配置
PATH变量
这个配置,跟配置Java
环境时一样,是为了能够全局找到go 的命令
其实 我们这里 上面不应该
能直接正常识别 go
的命令的 ,应该是找不到命令,为啥这里能找到呢 ,应该是go 安装的时候 已经给你设置了,找一下看看
这是 GOPATH
给你设置了一个,但这个明显不是我们的安装路径,那就是path
里面,果然如此,这里安装的时候已经帮我们设置了,如果没有设置则需要自己设置
GOPATH含义
参考:https://blog.csdn.net/weixin_42322206/article/details/128341595
GOPATH 是 Go 语言中使用的一个环境变量,它使用绝对路径提供项目的工作目录(也称为工作区), 是存放 Golang 项目代码的文件路径, GOPATH 适合处理大量 Go语言源码、多个包组合而成的复杂工程。
工作目录是一个工程开发的相对参考目录,好比当你要在公司编写一套服务器代码,你的工位所包含的桌面、计算机及椅子就是你的工作区。
工作区的概念与工作目录的概念也是类似的。如果不使用工作目录的概念,在多人开发时,每个人有一套自己的目录结构,读取配置文件的位置不统一
GOPATH目录一般为:
1、bin 存放编译生成的二进制文件。比如 执行命令 go get github.com/google/gops,bin目录会生成 gops 的二进制文件。
2、pkg 其中pkg下面以下三个文件夹。
XX_amd64: 其中 XX 是目标操作系统,比如 mac 系统对应的是darwin_amd64, linux 系统对应的是 linux_amd64,存放的是.a结尾的文件。
mod: 当开启go Modules 模式下,go get命令缓存下依赖包存放的位置
sumdb: go get命令缓存下载的checksum数据存放的位
3、src 存放golang项目代码的位置
设置GOPATH
安装完成后,go 给你设置的默认的,我们这里改成自己的,找到 GOPATH
环境变量,这里我们把 用户变量和系统变量都设置下
设置代理GOPROXY 和 GO111MODULE
众所周知的原因,国内被墙,所以需要设置镜像源,跟npm 设置国内镜像一样的道理,对应的设置
- GOPROXY -> 代理地址
- GO111MODULE -> 是否开启 go mod
这里提供两个代理:
设置代理相关的环境变量
为了代理长期生效。添加环境变量:
GO111MODULE:on
GOPROXY:https://goproxy.cn
go env 命令
使用 go env
命令可以查看我们刚才的设置,例:
工作空间目录结构
goWorkSpace // goWorkSpace为GOPATH目录
-- bin
-- myApp1 // 编译生成
-- myApp2 // 编译生成
-- myApp3 // 编译生成
-- pkg
-- src
-- common 1
-- common 2
-- common utils ...
-- myApp1 // project1
-- models
-- controllers
-- others
-- main.go
-- myApp2 // project2
-- models
-- controllers
-- others
-- main.go
-- myApp3 // project3
-- models
-- controllers
-- others
-- main.go
既然已经有了规范,那我们按照规范来
现在 在我们再工作目录,也就是GOPATH 目录新建
src:存放源代码的目录
pkg:编译过后生成的包文件存放目录
bin:编译后生产的可执行文件和go相关的工具,都在此目录
配置vscode 安装 go 插件
安装 go 插件
启动vscode
选择插件->搜go
选择Go for Visual Studio Code
插件点击安装即可。如图
配置golang辅助工具
使用快捷键:Ctrl+Shift+P 输入Go:Install/Update Tools,选择全都要,但是注意,如果没有配置代理,会安装失败
注意:要用vscode,打开设置的GOPATH路径进行安装
这时候你如果在看其他人的文档,有时候会发现别人的插件巨多,而你只有七个不是因为你小
,而是因为精悍
因为
go语言服务器 "gopls" 可以取代好几个插件
vsode没有代码自动补全
如果没有代码提示,参考这个方法解决
https://blog.csdn.net/qq_36564503/article/details/124527414
hello world
学习语言的第一个程序肯定是hello word了,在工作目录的 src
新建 hello
文件夹并在hello目录中创建一个main.go
文件,文件内容如下
package main // 声明 main 包,表明当前是一个可执行程序
func main() { // main函数,是程序执行的入口
println("Hello World!") // 在终端打印 Hello World!
}
在hello目录下执行:
go run main.go