《学习Go语言》中文版

 

这是关于来自Google 的Go 语言的简介。目标是为这个新的、革命性的语言提供一个指南。

什么是Go?来自于网站:

Go 编程语言是一个使得程序员更加有效率的开源项目。Go 是有表达力、简洁、清晰和有效率的。它的并行机制使其很容易编写多核和网络应用,而新奇的类型系统允许构建有弹性的模块化程序。Go 编译到机器码非常快速,同时具有便利的垃圾回收和强大的运行时反射。它是快速的、静态类型编译语言,但是感觉上是动态类型的,解释型语言。

这本书的目标读者是那些熟悉编程,并且了解多种编程语言,例如C,C++,Perl,Java,Erlang,Scala,Haskell。这不是教你如何编程的书,只是教你如何使用Go。

本书代码托管于此:https://bitbucket.org/mikespook/learning_go_chinese

英文原版由 Miek Gieben 维护:http://miek.nl/cgi-bin/gitweb.cgi?p=gobook.git;a=summary

用 hg 克隆项目:

hg clone https://bitbucket.org/mikespook/learning_go_chinese

然后根据 README.md 中的内容安装所需依赖包,编译即可得到 pdf。

编译好的成品这里下载:

  • 【20120428】改进了前言、第一章、第二章的细节格式,修复了一些错误。
  • 【20120409】同步到英文版 2012-04-09,标记为 1.0 版本。
  • 【20120210】同步到英文版 2012-02-08,更新了 Go-1 的工具变化。
  • 【20120110】更新部分 Go-1 的内容。
  • 【20111110】发布0.4版,同步到英文的 2011-10-25,增补 Windows 部分安装。
  • 【20110914】发布0.4版 6 寸屏幕版本(for Kindle)供试读。
  • 【20110904】发布0.4版供试读。
  • 【20110607】发布完整翻译内容供试读。
  • 【20110603】发布第一章至第七章内容供试读。
  • 【20110527】发布第一章至第六章内容供试读。
  • 【20110501】发布第一章至第五章内容供试读。
  • 【20110418】发布第一章至第四章内容供试读。
  • 【20110413】发布第一章、第二章内容供试读。

鉴于我个人精力有限,建议有能力的同学通过 bitbucket 的 Pull requests 功能向这本书提交补丁,以便加快 issue 的修复。

谢谢大家!

  32 Responses to “《学习Go语言》中文版”

  1. [...] 项目页面在这里:《学习Go 语言》 [...]

  2. 怎么生成PDF呢?

  3. 从GR上跳过来,看了文档才知道原来是中大的师兄~Perfect work! 谢谢您的工作~

  4. 好东西啊,非常感谢!

  5. 好东西啊,谢谢无私奉献

  6. 非常感谢!

  7. 非常感谢作者的贡献,这是我下载第2个版本来看了.

  8. 如果能把白边弄窄点就好了,在iPad上看时文字小了点。

  9. 已经开始阅读了,呵呵!等要出版的时候告诉我,我一定要买一本

  10. 写得很不错,确实是本GO入门的好书,感谢了

  11. 非常感谢作者的贡献,求交友 :D

  12. 非常感谢作者的翻译

  13. [...] 《学习Go语言》中文 [...]

  14. 谢谢作者!伟大的中文GO先驱!

  15. [...] 书籍: 原文网址 《学习Go语言》中文 [...]

  16. 在第12页有一个错别字:夸
    Go 是第一个实现了简单的(或更加简单的)并行开发的、夸平台类C 语言。

  17. 谢谢,周末外出,回来了更正它。

  18. 这本书的第20页谈到slice的len和cap的时候有个错误。当数组array的类型是[m]int,而slice=array[0:n]时,cap(slice)应该等于m,而不是n。原书中都弄成cap(slice)=n了。

  19. 谢谢,已经更正,并向原文提交了补丁。

  20. 已经持续跟进翻译到了Go1,真正不容易,在下载阅读的同时,说声感谢~~~

  21. 包的文档模块,func Printf(format string, a …interface) (n int, err error),接口类型应该是interface{}

  22. 进阶/定义自己的类型
    应该用逗号分割

  23. 进阶/转换
    从string到字节或者整形的slice。
    mystring := “hello this is string”
    byteslice := []byte(mystring)
    转换到byteslice,每个byte保存字符串对应字节的整数值。注意Go的字符串是UTF-8编码的,一些字符可能是1、2、3或者4个字节结尾。
    intslice := []int(mystring)

    string类型强转[]int编译不通过

  24. 有没有好的IDE啊?

  25. 通讯/网络
    http包导入有误
    应该是:
    import(
    “net/http”
    )

  26. 谢谢!第一个和第二个已经修复,不过还没发布编译版。其他也已经在代码里修复了。并且向原版提交了补丁。

  27. 看到Go1了,伟大的翻译。

  28. 麻烦请顺便把kindle版也更新一下,多谢辛苦劳动!
    对着电脑看太累了,还是在kindle上看舒服

  29. kindle 的排版一直都没有维护,很多格式会有问题,所以就没有更新了。如果有条件,可以 clone 代码回来自己编译。

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>