【go语言学习】go语言开发环境搭建
一、下载和安装
官方网站 https://www.golang.org/
国内网站 https://golang.google.cn/
二、配置环境变量
1、gopath
GOPATH是早期的设置方式,将工作目录设置GOPATH到全局环境变量。
GOROOT:C:/go // go语言的安装地址
GOPATH:E:/gopath // go的工作目录
PATH:C: /go/bin // 将环境变量加入路径
GOPATH目录结构:
goWorkSpace // (goWorkSpace为GOPATH目录)
-- bin // golang编译可执行文件存放路径,可自动生成。
-- pkg // golang编译的.a中间文件存放路径,可自动生成。
-- src // 源码路径。按照golang默认约定,go run,go install等命令的当前工作路径(即在此路径下执行上述命令)。
这种方式在实际操作中会有如下问题:
如果我们把所有项目都放在同一个GoPath的src包下,那么项目的结构就会变得非常混乱,难以管理。
如果我们建立不同的GoPath来管理我们的项目,那么不同GoPath下的src中下载大量重复的第三方依赖包,这同样会占用大量的磁盘空间。
2、gomod
go mod 正是为了解决上述问题(并不单单是上述问题,还有依赖引用问题)。
GoModule就是一个用来取代GoPath的Golang的工作空间。
GoPath我们用来存放我们从网上拉取的第三方依赖包。
GoModule我们用来存放我们自己的Golang项目文件。
通过以下命令查看go环境配置:
go env
通过以下命令开启GoModule
$env:GO111MODULE = "on"
通过以下命令设置代理服务
$env:GOPROXY="https://goproxy.cn",direct
进入到 myproject目录下执行 go mod init myproject 就会创建出一个go.mod文件,myproject即为一个GoModule目录。当我们需要引入GoPath目录下的第三方依赖包的时候,只需要在go.mod目录下添加依赖名称,GoModule就会自动帮我们把第三方依赖包下载到GoPath目录下。
// module 语句指定包的名称
module myproject
go 1.15
// require 语句指定的依赖项模块
require (
github.com/astaxie/beego v1.12.1
github.com/go-sql-driver/mysql v1.5.0
)
// replace 语句可以替换依赖项模块
// 由于某些已知的原因,并不是所有的package都能成功下载,比如:golang.org下的包。
// modules 可以通过在 go.mod 文件中使用 replace 指令替换成github上对应的库。
replace (
golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a => github.com/golang/crypto v0.0.0-20190313024323-a1f597ede03a
)
// exclude 语句可以忽略依赖项模块
exclude (
github.com/satori/go.uuid v1.2.0
)
go mod 命令:
命令 | 描述 |
---|---|
go mod init | 在当前目录项目下初始化mod |
go mod tidy | 拉取依赖的模块,移除不用的模块 |
go mod vendor | 将依赖复制到vendor下 |
go mod edit | 编辑go.mod |
go mod verify | 验证依赖是否正确 |
三、配置开发工具
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