搭建Golang开发环境
Go语言是谷歌 2009 年首次推出并在 2012 年正式发布的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去10多年间软件开发的难度令人沮丧。Google 对 Go 寄予厚望,其设计是让软件充分发挥多核心处理器同步多工的优点,并可解决面向对象程序设计的麻烦。它具有现代的程序语言特色,如垃圾回收,帮助开发者处理琐碎但重要的内存管理问题。Go 的速度也非常快,几乎和 C 或 C++ 程序一样快,且能够快速开发应用程序。
环境变量
web:http://golang.org
doc:http://golang.org/doc/
down : https://storage.googleapis.com/golang/go1.3.1.windows-amd64.zip (需要FQ)
If you chose a directory other than c:\Go, you must set the GOROOT environment variable to your chosen path.
Add the bin subdirectory of your Go root (for example, c:\Go\bin) to your PATH environment variable.
建议window下GO的目录在C盘根目录,配置C:\go\bin ,配置环境变量: GOROOT=C:\go; %GOROOT%\bin;
Go命令依赖一个重要的环境变量 GOPATH(注:这个不是Go安装目录,而是Go项目的工作目录),如:GOPATH=D:\idea\Go\TestGo
GOPATH允许多个目录,当有多个目录时,请注意分隔符,多个目录的时候Windows是分号,Linux系统是冒号,当有多个GOPATH时,默认会将go get的内容放在第一个目录下。
Liunx环境变量配置
#Golang enviroment variable export GOROOT=/opt/go export PATH=$PATH:$GOROOT/bin export GOPATH=/opt/mygo
以上 $GOPATH 目录约定有三个子目录:
- src 存放源代码(比如:.go .c .h .s等)
- pkg 编译后生成的文件(比如:.a)
- bin 编译后生成的可执行文件(为了方便,可以把此目录加入到 $PATH 变量中,如果有多个gopath,那么使用
${GOPATH//://bin:}/bin
添加所有的bin目录)
#测试
#go version
IDEA Golang插件
pulgIn:https://github.com/go-lang-plugin-org/go-lang-idea-plugin
IntelliJ IDEA 是我觉的最好的IDE之一,堪称神器,支持NodeJS,GO,Scala,Dart等插件,安装即可 。
注:新建项目后可能无法新go文件,需要在项目目录执行src为源码目录即可
#运行
安装GOGS 配置go环境
安装GOGS 配置go环境https://golang.org/dl/
#下载 #https://storage.googleapis.com/golang/go1.3.3.linux-amd64.tar.gz #解压 [root@AY1406151605405725a8Z opt]# ls awstats-7.3.tar.gz go nginx ghost go1.3.3.linux-amd64.tar.gz node-v0.10.28-linux-x64 gitbucket.war htop-1.0.2 [root@AY1406151605405725a8Z opt]# tar xzvf go1.3.3.linux-amd64.tar.gz -C /usr/local/ #设置环境变量 [root@AY1406151605405725a8Z opt]# export PATH=$PATH:/usr/local/go/bin #检查 [root@AY1406151605405725a8Z opt]# go version go version go1.3.3 linux/amd64 最后设置GOROOT与GOPATH环境变量 export GOROOT=/usr/local/go export PATH=$PATH:$GOROOT/bin export GOPATH=/home/git/gocode
REFER:
http://stackoverflow.com/questions/7970390/what-should-be-the-values-of-gopath-and-goroot
http://blog.csdn.net/delphiwcdj/article/details/17652725
https://github.com/astaxie/build-web-application-with-golang