Golang学习系列:(一)介绍和安装

Java程序员带你来到Go的世界,让我们开始探索吧!

Go是一种新的语言,一种并发的,带有垃圾回收的、快速编译的语言,它具有一下特点:

  • 他可以在一台计算机上用几秒钟的时间编译一个大型的Go程序
  • Go为软件构造提供了一种模型,它使依赖分析更加容易,且避免了大部分C风格include文件与库的开头。
  • Go是静态类型的语言,它的类型系统没有层级。因此用户不需要在定义类型之间的关系上花费时间,这样感觉起来比典型的面向对象语言更轻量级。
  • Go完全是垃圾回收型的语言,并为并发执行与通信提供了基本的支持。
  • 按照其设计,Go打算为多核机器上系统软件的构造提供一种方法。

Go是一种编译型语言,它结合了解释型语言的游刃有余,动态类型语言的开发效率,以及静态类型的安全性。它也打算成为现代的,支持网络与多核计算的语言。要满足这些目标,需要解决一些语言上的问题:一个富有表达能力但轻量级的类型系统,并发与垃圾回收机制,严格的依赖规范等等。这些无法通过库或工具解决好,因此Go也就应运而生了。

一、Windows安装

访问Golang官网下载页,32 位请选择名称中包含windows-386msi安装包,64位请选择名称中包含windows-amd64的。下载好后运行,不要修改默认安装目录C:\Go\,若安装到其他位置会导致不能执行自己所编写的Go代码。安装完成后默认会在环境变量Path后添加Go安装目录下的bin目录 C:\Go\bin\,并添加环境变量GOROOT,值为Go安装根目录 C:\Go\

测试是否成功

在运行中输入cmd打开命令行工具,在提示符下输入go,检查是否能看到Usage信息。输入cd%GOROOT%,看是否能进入Go安装目录。若都功,说明安装成功(如下所示)。不能的话请检查上述环境变量PathGOROOT的值。若不存在请卸载后重新安装,存在请重启计算机后重试以上步骤。

$ 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 and cached files
doc show documentation for package or symbol
env print Go environment information
bug start a bug report
fix update packages to use new APIs
fmt gofmt (reformat) 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 report likely mistakes in packages Use "go help [command]" for more information about a command. Additional help topics: c calling between Go and C
buildmode build modes
cache build and test caching
filetype file types
gopath GOPATH environment variable
environment environment variables
importpath import path syntax
packages package lists
testflag testing flags
testfunc testing functions Use "go help [topic]" for more information about that topic

二、GOPATH与工作空间

前面我们在安装Go的时候看到需要设置GOPATH变量,Go从1.1版本到1.7必须设置这个变量,而且不能和Go的安装目录一样,这个目录用来存放Go源码,Go的可运行文件,以及相应的编译之后的包文件。所以这个目录下面有三个子目录:src、bin、pkg

从go 1.8开始,GOPATH环境变量现在有一个默认值,如果它没有被设置。 在Windows上默认为%USERPROFILE%/go。

GOPATH设置

go 命令依赖一个重要的环境变量:$GOPATH

Windows系统中环境变量的形式为%GOPATH%

(注:这个不是Go安装目录。下面以笔者的工作目录为示例,如果你想不一样请把GOPATH替换成你的工作目录。)

Windows 设置如下,新建一个环境变量名称叫做GOPATH:

GOPATH=c:\mygo

GOPATH允许多个目录,当有多个目录时,请注意分隔符,多个目录的时候Windows是分号,Linux系统是冒号,当有多个GOPATH时,默认会将go get的内容放在第一个目录下。

以上 $GOPATH 目录约定有三个子目录: