下载Go语言包
go binary release是一套 二进制+源码+SDK+工具组成的,和其他语言比,唯独没有运行时,也不需要。Go官方国内访问不稳定,最好FQ。请到https://golang.org/dl/ 下载对应的包,目前是1.9.3版本
三个环境变量
首先你要了解对应操作系统的环境变量怎么配置,以及影响的范围,篇幅有限不赘述。假设你的go安装路径为 /root/app/go下,首先要确保PATH变量中有/root/app/go/bin。之后配置GOROOT为/root/app/go/即你的go安装目录
最后一项是GOPATH,这个很重要很多人被坑在这。go和其他语言不一样十分依赖于工作目录,即GOPATH。比如我建立了三个目录, golib, gowork, gotest(虽然官方建议 “Go programmers typically keep all their Go code in a single workspace.”)
之后在环境变量中把GOPATH配为这三个目录,并且把golib放在第一个。这三个目录中的又要分别有bin, pkg, src 三个文件夹,这才算一个标准的工作目录,一张官网的截图作为参照:
go的这种模式决定了你不能按照版本控制工具来作为代码的根目录,也不能随意的将某一个测试项目建立到随意的路径下,而必须都在GOPATH包含的路径中,src目录下
最后,如果是linux系统别忘了export GOPATH和GOROOT
测试
首先执行以下 go version,确保输出“go version 1.9.3xxxxx”的字样。然后在你的某个src下创建一个helloword文件夹,我们假设这个目录为 /root/app/gowork/src,在里面创建一个application.go的文件,把以下代码复制过去:
package mainimport "fmt"func main() {fmt.Printf("Hello, world.\n") }
这段代码将在标准输出打印 Hello, world。第一个行是固定写法,每个要最终发布为二进制可执行程序的都要这么写,import 不用多说了,fmt.Printf就是我们最常用的标准输出函数。现在思考一下哪里和Java不一样?fmt是模块名或者说包名,你现在在通过包名直接调用包内部的方法,这里不涉及到“类”!
在/root/app/gowork/src/helloworld 下执行 go run application.go 试试?如果能打印hello world. 则你成功了
IDE
我们都有intellij idea,可以在上面安装GO语言的插件,但至少在我还在用go 1.6的那时,就有很多问题,不知道现在是否修正了。我向大家推荐同样是Jetbrains的GoLand,界面风格和intellij idea完全一样
从 https://www.jetbrains.com/go/?fromMenu下载安装文件,GoLand需要购买key,当然,你可以百度一下...
安装好后可能需要你设置一下SDK路径,选在你go的安装路径就好。在settings选项中,你能看到go的各项配置,你甚至可以添加一个只给GoLand用的GOPATH,但我不建议这么做
点File->Open,选择helloworld目录。你能看到他自动识别了main函数,有一个我们熟悉的小绿箭头,点击一下
和刚才的结果一样。看一看最下面Run的打印的内容
执行的并不是刚才的go run,而是go build?并且生成了exe文件,最后用runnerw.exe执行了生成的exe。下一篇中我们会详细说go的几个重要命令