参考 https://golang.org/doc/install
自ECUG2013洗脑回来,就渴望早点接触Go
听着许式伟和谢孟军的演讲
发现go的网络库的确很强大,高负载利器,语言的一些精简导致很容易写出高效代码,而且开发效率 很高 不,应该是非常高 。(rpcjson,xml,.....其他一些自带的库也都很成熟)
是不是传说中的好东东,必须自己用了才能知道
ECUG视频传送们
www.youtube.com/watch?v=af7qOeN9Mvk
推荐一些相关书籍
学写的话,当然 书籍更系统
推荐书籍:
1.英文版《the way to go 》 中文版 《Go语言程序设计》 IVO BALBAERT
2.中文版 《学习Go语言》 www.mikespook.com/learning-go/
3. 雨痕的 Go 学习笔记 第四版.pdf https://github.com/qyuhen/book
4.英文版《Programming in Go 》 中文版《Go语言程序设计》 作者:Mark Summerfield http://item.jd.com/11281696.html
5.英文版《The Go Programming Language》 作者:David Chisnall
6. 《 Network programming with Go》
7. 《Mastering Concurrency in Go - Nathan Kozyra》
如果是过web 相关
谢孟军《Go Web编程》https://github.com/astaxie/build-web-application-with-golang/
查看自己的开发环境:
$lsb_release -a
Ubuntu 12.04.3 LTS
$uname -a (or $cat /proc/version)
Linux 3.8.0-33-generic gcc version 4.6.3
Operating systemArchitecturesNotes
FreeBSD 8-STABLE or later
amd64
Debian GNU/kFreeBSD not supported
Linux 2.6.23 or later with glibc
amd64, 386, arm
CentOS/RHEL 5.x not supported; install from source for ARM
Mac OS X 10.7 or later
amd64
use the clang or gcc† that comes with Xcode‡
Windows XP or later
amd64, 386
use MinGW gcc†. No need for cygwin or msys. golang支持交叉编译,也就是说你在32位平台的机器上开发,可以编译生成64位平台上的可执行程序。 环境变量说明:
===============================================
windows 安装go, 如果要用CGO,需要安装MINGW ( 因为需要gcc)========
默认路径是c:\go
1>.环境变量
1.1>MSI环境变量已经设置OK,
1.2>zip 需要自己设置环境变量
全局变量
添加 GOROOT c:\go GOBIN c:\go\bin GOPATH d:\workproject
然后在path 在后面添加 xxxxxx;%GOROOT%;%GOBIN%;%GOPATH%;
【若成功,可以看到以下version信息】 C:\go\>go version go version go1.5.1 windows/amd64
2>.编译
然后管理员权限启动cmd,
进入【GOROOT 目录】 编译/test/helloworld.go
然后试下编译 go build helloworld.go
【若成功,可以看到以下信息】
hello world
关于IDE
推荐下 国人开发的 liteide
配合IDE的话,载入*.go文件后, 点击【编辑当前环境】
改成如下信息(更具自己的OS来修改,我的是win10 64位,goroot 在c:\go\,)
============== # native compiler windows
GOROOT=c:\go\
GOBIN= c:\go\bin\
GOARCH=amd64
GOOS=windows
#CGO_ENABLED=1
PATH=c:\mingw32\bin;%GOROOT%\bin;%PATH%
#LITEIDE_GDB=gdb
LITEIDE_MAKE=mingw32-make
LITEIDE_TERM=%COMSPEC%
LITEIDE_TERMARGS=
LITEIDE_EXEC=%COMSPEC%
LITEIDE_EXECOPT=/C
==============
点击编译,运行 就可以看到结果了。
1.5以上版本以为 使用了自举,所以需要用老版本的go 来编译新版本,所以出现如下错误
================= C:\go\src>all.bat ##### Building Go bootstrap tool. cmd/dist ERROR: Cannot find C:\Users\scott\Go1.4\bin\go.exe "Set GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4."
==================
解决办法: 下载1.4.x 版本的go 后(是需要MINGW gcc 编译1.5的代码), 设置GOROOT_BOOTSTRAP,GOROOT_BOOTSTRAP\bin, GOROOT_BOOTSTRAP c:\go
然后运行all.bat,就可以得到新版本, 再把go目录名字改下go1.4, go1.6改成go
自举
C:\go\src>make.bat
===========================
linux 可以参考以下网页
http://mikespook.com/2015/06/如何从源代码构建-go-1-5-开发环境/ 卸载也是很重要的,(可以通过go env 来了解GOROOT...信息 , 卸载也就知道在哪了)
Uninstalling Go
To remove an existing Go installation from your system delete the go directory. This is usually /usr/local/go under Linux, Mac OS X, and FreeBSD or c:\Go under Windows.
You should also remove the Go bin directory from your PATH environment variable. Under Linux and FreeBSD you should edit /etc/profile or $HOME/.profile. If you installed Go with the Mac OS X package then you should remove the /etc/paths.d/go file. Windows users should read the section about setting environment variables under Windows. $go version 我是ubuntu14.04 默认安装的go1.2.1版本 $go env 查看之前版本的go 的GOROOT、GOTOOLDIR、GOPATH等信息
默认安装版本 需要删除
1. /usr/lib/go
2. /usr/share/go
3. /usr/bin/go
然后更新自己的新版本的go环境变量 就可以了
go version
go env
都正常了
=================
linux 用go1.4自举编译go1.7
1.添加环境变量
vim ~/.bashrc
export GOROOT=/usr/local/go
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOROOT/bin
export GOPATH=$HOME/goWorkproject
export GOROOT_BOOTSTRAP=/usr/local/go1.4
更新环境变量 source ~/.bashrc
2.进入go1.7的目录 /usr/local/go
cd go/src/
运行 ./make.bash
.......
Installed Go for linux/amd64 in /usr/local/go
Installed commands in /usr/local/go/bin
查询版本
root@iZ25290crlqZ:/usr/local/go/src# go version
go version go1.7 linux/amd64
OK就算完成了。
http://studygolang.com/topics/1852