Google为了更好地推广Go语言,在自己的官网和Appspot上分别搭建了基于浏览器的交互式Go编程指南-gotour,相关网站:

这个教程非常简单易学,共分三部分:
第一部分主要介绍Go语言的基础概念,包括包、导入、函数、变量、条件、循环、指针、struct、slice、Map、Range等。
第二部分主要介绍方法、接口、Error、Web服务器、图片处理等。
第三部分主要介绍并发、Goroutine、Channel、缓冲Channel、Range和Close、Select等。

每部分都提供大量的例子,所有代码都可以在Web上直接运行。每部分的后面还提供了练习,你可以直接在教程提供的浏览器编辑框里编写代码,点击左上角的按钮“运行”,查看自己的编码结果。对于初学者来说,这个在线教程确实是学习Go语言编程的Best Practise:

gotour

但是,我朝是不会让程序员这么愉快的使用Google的服务的,以上两个网站的域名都被严重污染了,很多时候无法访问或很不稳定。幸好,这个教程提供了本地离线版本的构建,在不接入互联网的情况下该教程可以作为独立的Web程序运行。教程运行在本地上时会使用本地环境构建和编译代码,这会运行得更快,并且会包括一些在沙盒版本中没有的体验上的增强。

所以我建议所有想学习Go的程序员都基于本地环境构建这个Go语言教程。构建过程非常简单:

  • 安装Go语言环境,具体可以参考Go的官网指南。简单介绍如下:
    • 对于OS X,可以直接使用brew install go进行安装,安装在/usr/local/Cellar/go目录下。
    • 对于Linux(Ubuntu),通过wget http://go.googlecode.com/files/go1.0.3.linux-amd64.tar.gz下载编译好的安装包,然后tar -C /usr/local -xzf go1.0.3.linux-amd64.tar.gz
    • 设置环境变量,保证可以在命令行执行go命令。
  • 安装另一个分布式管理工具hg(Mercurial),hg的介绍请参考http://mercurial.selenic.com
    • 对于OS X,可以使用brew install hg安装。
    • 对于Linux(Ubuntu),可以使用sudo apt-get install mercurial安装。
    • 安装完成后,确认在命令行可以找到hg命令。
  • 安装Go语言英文教程:sudo go get code.google.com/p/go-tour/gotour
  • 安装Go语言中文教程:go get bitbucket.org/mikespook/go-tour-zh/gotour
  • 在命令行执行gotour,在浏览器地址输入:http://127.0.0.1:3999,即可进入教程的学习界面。

祝学的开心!