本书当前包含:
- 简介:演示了如何安装 Go,并通过一个源代码逐行展示了 Go 语言。
- 基础:类型,变量和控制流程。
- 函数:如何编写和使用函数。
- 包:函数和数据通过包组织在一起。这里将会看到如何编写包。对如何在包中使用单元测试也进行了介绍。
- 进阶:学习如何创建自定义数据类型,并在其上定义函数(在 Go 中叫做方法)。
- 接口:Go 并不支持传统意义上的面向对象。在 Go 中核心概念是接口。
- 并发:通过关键字 go,可以在独立的调度中运行函数(叫做 goroutine)。在这些 goroutine 之间进行通讯是通过 channel 完成的。
- 通讯:如何建立/读取/写如文件。以及网络相关内容。
每章包含若干个提供了答案的练习来帮助你提升。
在 Ubuntu 上需要用到下面的包来从 LaTeX 源文件中构建本书(12.04 已测试)。
inkscape
gnumeric
ttf-droid
ttf-dejavu
ttf-sazanami-gothic
(日文)ttf-arphic-ukai
texlive-fonts-recommended
texlive-extra-utils
texlive-xetex
texlive-latex-extra
texlive-latex-recommended
latex-cjk-xcjk
(中文)git-core
GNU make
你可以复制和粘贴下面的代码到 vt100 完成若干包的安装。
# 在 Ubuntu 12.04 通过测试
for i in inkscape \
gnumeric \
ttf-droid \
ttf-dejavu \
ttf-sazanami-gothic \
ttf-arphic-ukai \
texlive-fonts-recommended \
texlive-extra-utils \
texlive-xetex \
texlive-latex-extra \
texlive-latex-recommended \
latex-cjk-xcjk \
git-core \
make \
do
sudo apt-get install $i -y
done
使用 http 协议。
me@ubuntu1204:~$git clone https://github.com/mikespook/Learning-Go-zh-cn.git
Cloning into 'Learning-Go-zh-cn'...
remote: Counting objects: 4515, done.
remote: Compressing objects: 100% (1385/1385), done.
remote: Total 4515 (delta 3106), reused 4512 (delta 3104)
Receiving objects: 100% (4515/4515), 1.53 MiB | 1.17 MiB/s, done.
Resolving deltas: 100% (3106/3106), done.
me@ubuntu1204:~$
如果已经有了 github 账户,可以使用 git 协议。
git clone git@github.com:mikespook/Learning-Go-zh-cn.git
make
最新编译的 pdf 发布在七牛存储