Merge pull request #33 from gelosie/master

添加相关章节代码,review到1.2节
This commit is contained in:
astaxie
2012-09-20 00:06:33 -07:00
5 changed files with 41 additions and 10 deletions

14
1.1.md
View File

@@ -40,12 +40,12 @@ Linux系统用户可通过在Terminal中执行命令`uname -a`来查看系统信
## Linux 安装
访问[下载地址][downlink]32位系统下载go1.0.2.linux-386.tar.gz64位系统下载go1.0.2.linux-amd64.tar.gz
假定你想要安装Go的目录为 `$GO_INSTALL_DIR`,后面替换为相应的目录路径。
解压缩`tar zxvf go1.0.2.linux-amd64.tar.gz`
解压缩`tar.gz`包到安装目录下:`tar zxvf go1.0.2.linux-amd64.tar.gz -C $GO_INSTALL_DIR`
移动go文件夹到home目录下`mv go ~/`
设置PATH`export PATH=$PATH:$HOME/go/bin`
设置PATH`export PATH=$PATH:$GO_INSTALL_DIR/go/bin`
然后执行`go`
@@ -63,9 +63,9 @@ Linux系统用户可通过在Terminal中执行命令`uname -a`来查看系统信
在类Unix系统中需要安装gcc等工具例如Ubuntu系统可通过这种方式安装编译工具`sudo apt-get install gcc libc6-dev`
在Windows系统中你需要安装MinGW然后通过MinGW安装gcc。
首先你必须安装了hg工具然后执行如下代码:
Go使用[Mercurial](http://mercurial.selenic.com/downloads/)进行版本管理首先你必须安装了Mercurial然后才行下载。假设你已经安装好Mercurial执行如下代码:
假设目前在当前用户的`home`目录
假设已经位于Go的安装目录 `$GO_INSTALL_DIR`
hg clone -u release https://code.google.com/p/go
cd go/src
@@ -75,7 +75,7 @@ Linux系统用户可通过在Terminal中执行命令`uname -a`来查看系统信
上面写的是Unix风格的Windows下安装方式类似只不过是运行all.bat调用的编译器是MinGW的 gcc。
然后设置PATH`export PATH=$PATH:$HOME/go/bin`
然后设置PATH`export PATH=$PATH:$GO_INSTALL_DIR/go/bin`
看到如下图片说明已经安装成功

2
1.2.md
View File

@@ -2,6 +2,8 @@
## GOPATH设置
go 命令依赖一个重要的环境变量:$GOPATH<sup>1</sup>
*这个不是Go安装目录。下面以笔者的工作目录为说明请替换自己机器上的工作目录。*
在类似 Unix 环境大概这样设置:

View File

@@ -11,10 +11,15 @@
## 撰写方法
### 文件命名
每个章节建立一个md文件如第11章的第3节则建立**11.3.md**。
每个章节建立一个md文件如第11章的第3节则建立**11.3.md**。
### 代码文件
代码文件置于src目录之下。每小节代码按目录存放。如第11章的第3节的代码保存于**src/11.3/**目录下。在正文中按需要添加代码。
## 格式规范
请参看已有章节的规范要注意的是每个章节在底部都需要有一个links节包含“目录”“上一节”和“下一节”的链接。
## 格式规范
### 正文
请参看已有章节的规范要注意的是每个章节在底部都需要有一个links节包含“目录”“上一节”和“下一节”的链接。
### 代码
代码要**`go fmt`**后提交。注释文件注明其所属于章节。
##如何编译
`build.go`依赖markdown的一个解析包所以第一步先

13
src/1.2/main.go Normal file
View File

@@ -0,0 +1,13 @@
// 章节 1.2
// $GOPATH/src/mathapp/main.go
package main
import (
"fmt"
"mymath"
)
func main() {
fmt.Printf("Hello, world. Sqrt(2) = %v\n", mymath.Sqrt(2))
}

11
src/1.2/sqrt.go Normal file
View File

@@ -0,0 +1,11 @@
// 章节 1.2
// $GOPATH/src/mymath/sqrt.go
package mymath
func Sqrt(x float64) float64 {
z := 0.0
for i := 0; i < 1000; i++ {
z -= (z*z - x) / (2 * x)
}
return z
}