一个Golang小白的学习笔记,希望与大家共同学习,写得不好的地方,请大家指正,多谢!~
在Windows安装Go语言开发环境比较简单,Go官方提供了msi和zip两种格式的安装包,我们可以根据自己的操作系统选择32位的还是64位的,下载对应的安装包。
安装
1. msi安装包
使用msi安装包,只需要按照安装界面提示安装即可,安装过程会根据我们选择的安装目录,配置好环境变量。
2. zip安装包
将下载好的zip安装包解压缩到某个目录下(推荐是C:\go)即可
配置环境变量
1. GOROOT
GOROOT指向的是Go的安装目录。
如果使用msi包安装的话,则安装工具已经默认帮我们配置了GOROOT环境变量,并将GOROOT/bin目录配置到PATH环境变量中。
如果使用zip安装包,我们就需要自己将zip解压的目录配置到GOROOT变量中,配置方式如下
控制面板 > 系统 > 高级系统设置 > 高级 > 环境变量
通过以上步骤可以打开Windows环境变量配置窗口,在用户变量(当前用户可使用)或系统变量(所有系统用户可使用)中新建GOROOT变量,变量值为Go安装目录,并将%GOROOT/bin%添加到PATH环境变量的末尾即可。
配置完成后在CMD命令中运行go命令,运行结果如下表示已经配置成功
> go
Go is a tool for managing Go source code.
Usage:
go command [arguments]
The commands are:
build compile packages and dependencies
clean remove object files
doc show documentation for package or symbol
env print Go environment information
bug start a bug report
fix run go tool fix on packages
fmt run gofmt on package sources
generate generate Go files by processing source
get download and install packages and dependencies
install compile and install packages and dependencies
list list packages
run compile and run Go program
test test packages
tool run specified go tool
version print Go version
vet run go tool vet on packages
Use "go help [command]" for more information about a command.
Additional help topics:
c calling between Go and C
buildmode description of build modes
filetype file types
gopath GOPATH environment variable
environment environment variables
importpath import path syntax
packages description of package lists
testflag description of testing flags
testfunc description of testing functions
Use "go help [topic]" for more information about that topic.
2. GOPATH
GOPATH环境配置的是Go语言的工作区,配置方式与GOROOT相同,但不可以与GOROOT指向同一目录,即不可指向Go语言安装目录,在Go1.1~Go1.7都需要GOPATH,在Go1.8以后,如果不配置,在Windows操作系统下,则GOPATH默认值%USERPROFILE%的值。
按照GO语言规范,GOPATH指向的目录下必须有三个目录:src,bin,pkg,src存放我们开发的Go项目源码,也就是以后我们写代码的地方,bin存放编译后生成的可执行文件,pkg存放编译后生成的文件。
一般GOPATH目录如下
$GOPATH
bin/
main.exe
pkg/
windows_amd64
lib.a
src/
main.go
lib
lib.go
第一个Go语言程序
在GOPATH的src目录新建main.go文件,代码如下
package main
import "fmt"
func main(){
fmt.Println("Hello World")
}
运行
src> go run main.go
Hello World