开发环境搭建
1 下载地址
安装包下载地址为:https://golang.org/dl/。
如果打不开可以使用这个地址:https://golang.google.cn/dl/。
各个系统对应的包名:
操作系统 | 包名 |
---|---|
Windows | go1.15.1.windows-amd64.msi |
Linux | go1.15.1.linux-amd64.tar.gz |
Mac | go1.15.1.darwin-amd64.pkg |
FreeBSD | go1.15.1.freebsd-amd64.tar.gz |
2 安装
Linux安装
1、下载二进制包:go1.15.1.linux-amd64.tar.gz
2、将下载的二进制包解压至 /usr/local目录。
tar -C /usr/local -xzf go1.15.1.linux-amd64.tar.gz
将 /usr/local/go/bin 目录添加至PATH环境变量:
//这样在任意 位置敲 go 就可以执行
export PATH=$PATH:/usr/local/go/bin
Windows安装
indows 下可以使用 .msi 后缀(在下载列表中可以找到该文件,如go1.15.1.windows-amd64.msi)的安装包来安装。
默认情况下 .msi 文件会安装在 c:\Go 目录下。将 c:\Go\bin 目录添加到 Path 环境变量中。添加后你需要重启命令窗口才能生效(默认已经添加了,这样在cmd窗口下敲 go 能找到该命令)。
Mac安装
Mac下直接双击go1.15.1.darwin-amd64.pkg,一路下一步安装即可
3 配置GOPATH和GOROOT
/*
GOPATH: 所有的go代码必须放在这个路径下的src文件夹下,否则无法执行,默认创建到用户家目录下的go文件夹
该目录下有三个文件夹(如果没有,要手动创建)
windows和mac默认在用户名下的go文件夹(GOPATH="/Users/cqzlei/go")
-src——源码(包含第三方的和自己项目的)
-bin——编译生成的可执行程序
-pkg——编译时生成的对象文件
GOROOT:go开发工具包(sdk)的安装路径,默认:C:\go
将GOROOT下的bin路径加入环境变量(默认已处理),这样任意位置敲 go 都能找到该命令
*/
//windows下修改在系统变量里添加
变量名:GOPATH
变量值:C:\>Go_Project
//mac和linux下修改
GOPATH="/Users/cqlei/go/" 直接写要修改的路径即可
4 测试安装
//在命令行下输入
go version
//可以看到
go version go1.15.1 darwin/amd64
//输入,可以看到
go env
...
GOARCH="amd64"
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/liuqingzheng/go"
GOROOT="/usr/local/go"
...
5 命令介绍
5.1 基本介绍
直接在终端中输入 go help
即可显示所有的 go 命令以及相应命令功能简介,主要有下面这些:
- build: 编译包和依赖,编译型语言,需要先编译再执行,编译成可执行文件,执行可执行文件
- clean: 移除对象文件(go clean :删除编译的可执行文件)
- doc: 显示包或者符号的文档
- env: 打印go的环境信息,go的环境变量
-GO111MODULE=‘’ 现在没有使用MODULE模式
-GOPATH=C:\Users\oldboy\go 代码存放路径
-GOROOT=c:\go go sdk安装路径
- bug: 启动错误报告
- fix: 运行go tool fix
- fmt: 运行gofmt进行格式化(go fmt :自动将代码格式)
- generate: 从processing source生成go文件
- get: 下载并安装包和依赖(go get github.com/astaxie/beego:下载beego框架),等同于pip install
- install: 编译并安装包和依赖(go install 项目名:会将go编译,并放到bin路径下)
- list: 列出包
- run: 编译并运行go程序,开发阶段用,两步并作一步
- test: 运行测试
- tool: 运行go提供的工具
- version: 显示go的版本
- vet: 运行go tool vet
5.2 build 和 run 命令
就像其他静态类型语言一样,要执行 go 程序,需要先编译,然后再执行产生的可执行文件。go build
命令就是用来编译 go程序生成可执行文件的。但并不是所以的 go 程序都可以编译生成可执行文件的, 要生成可执行文件,go程序需要满足两个条件:
- 该go程序需要属于main包
- 在main包中必须还得包含main函数
也就是说go程序的入口就是 main.main
, 即main包下的main函数, 例子(test.go):
编译hello.go,然后运行可执行程序:
go build .\s1.go # 将会生成可执行文件 s1.exe
.\s1.exe # 运行可执行文件 mac平台生成./s1 可执行文件,输入./s1,即可执行该可执行文件
==> Hello, World!
上面就是 go build 的基本用法,另外如果使用 go build 编译的不是一个可执行程序,而是一个包,那么将不会生成可执行文件。
而 go run
命令可以将上面两步并为一步执行(不会产生中间文件)。
go run .\s1.go
==> Hello, World!
上面两个命令都是在开发中非常常用的。
此外 go clean 命令,可以用于将清除产生的可执行程序:
go clean # 不加参数,可以删除当前目录下的所有可执行文件
go clean hello.go # 会删除对应的可执行文件
5.3 get 命令
这个命令同样也是很常用的,我们可以使用它来下载并安装第三方包, 使用方式:
go get src
从指定源上面下载或者更新指定的代码和依赖,并对他们进行编译和安装,例如我们想使用 beego 来开发web应用,我们首先就需要获取 beego:
go get github.com/astaxie/beego
这条命令将会自动下载安装 beego 以及它的依赖,然后我们就可以使用下面的方式使用:
package main
import "github.com/astaxie/beego" # 这里需要使用 src 下的完整路径
func main() {
beego.Run()
}