一、下载和安装
官方网站 https://www.golang.org/
国内网站 https://golang.google.cn/
二、配置环境变量
1、 在go版本1.11之前需要配置以下几个环境变量:
GOROOT: C:/go
go语言的安装地址
GOPATH: E:/gopathgo的工作目录
PATH:C: /go/bin将环境变量加入路径
其中gopath目录下创建以下三个文件夹:
bingolang编译可执行文件存放路径
pkggolang编译包时,生成的.a文件存放路径
src源码路径
GoPath是Golang的工作空间,所有的Go文件,都需要放在GoPath下的src目录下才能够编译运行。
当时官方建议只有一个GoPath,大家把项目都放到GoPath下,而且GoPath下需要src,bin,pkg三个文件夹,src用来放源码,bin目录用来放编译好的可执行文件,pkg用来放编译过后引用的第三方包。
但是,在实际操作中会有如下问题:
如果我们把所有项目都放在同一个GoPath的src包下,那么项目的结构就会变得非常混乱,难以管理。
如果我们建立不同的GoPath来管理我们的项目,那么不同GoPath下的src中下载大量重复的第三方依赖包,这同样会占用大量的磁盘空间。
2、 为了解决项目依赖管理问题,go1.11版本引入了GoModule的概念。
GoModule就是一个用来取代GoPath的Golang的工作空间。
GoPath我们用来存放我们从网上拉取的第三方依赖包。
GoModule我们用来存放我们自己的Golang项目文件当我们的项目需要依赖第三方包的时候,我们通过GoModule目录下的一个go.mod文件来引用GoPath目录src包下的第三方依赖即可。
这样既解决了原来只能局限在GoPath目录src包下进行编程的问题,也解决了第三方依赖包难以管理和重复依赖占用磁盘空间的问题。
总而言之,在引入GoModule之后,我们不会直接在GoPath目录进行编程,而是把GoPath作为一个第三方依赖包的仓库,我们真正的工作空间在GoModule目录下。
3、 目前go的版本已更新至1.15版。
在安装完golang后,默认配置GOROOT,配置默认的GOPATH:C:\Users\用户名\go,并且默认情况下 GOROOT下的bin目录及GOPATH下的bin目录都已经添加到环境变量中了,我们也不需要额外配置了。
通过以下命令查看go环境配置:
go env
通过以下命令开启GoModule
$env:GO111MODULE = "on"
通过以下命令设置代理服务
$env:GOPROXY="https://goproxy.cn",direct
国内网络直接从谷歌服务器或者github上下载项目是非常痛苦的,所以先设置好代理,以后在下载第三方包的时候会非常方便。
4、 GoModule的设置
我们在任意目录下通过go mod init 项目名称
即可对目录进行初始化操作,这个目录即为一个GoModule目录。
例如:在F:\go_project目录,通过cmd命令提示符进入该目录,执行
go mod init go_project
进行初始化,在go_project目录下会生成一个go.mod,该文件就是用来引入GoPath目录下的第三方依赖文件。
此处注意:go mod init 命令后面必须带上项目名称。
当我们需要引入GoPath目录下的第三方依赖包的时候,只需要在go.mod目录下添加依赖名称,GoModule就会自动帮我们把第三方依赖包下载到GoPath目录下。
例如:
module go_module_demo
go 1.14
require (
github.com/astaxie/beego v1.12.1
github.com/go-sql-driver/mysql v1.5.0
)
三、配置开发工具
1、 下载vscode
vscode下载地址https://code.visualstudio.com/
2、 安装中文汉化插件chinese和第三方go语言插件
再次运行vscode或运行项目时会提示我们安装go语言插件的依赖包,install all都可以自动安装成功。
四、第一个golang程序
在F:\go_project目录创建main.go,输入代码:
package main
import "fmt"
func main() {
fmt.Println("hello world")
}
可以通过以下三种方式执行go程序:
1、 通过cmd命令提示符进入该目录,执行go build main.go
会在当前目录生成main.exe
可执行文件,控制台执行./main.exe
,可在终端输出hello world
。
2、 通过cmd命令提示符进入该目录,执行go run main.go
可运行go程序,在终端输出hello world
3、 通过cmd命令提示符进入该目录,执行go install main.go
可在GOPATH下的bin文件夹生成main.exe
,在任意终端下(path下已添加GOPATH下的bin目录)执行main.exe
,可在终端输出hello world