Skip to content

Commit 0a4fb93

Browse files
committed
Merge pull request astaxie#33 from gelosie/master
添加相关章节代码,review到1.2节
2 parents 838d40d + feb3465 commit 0a4fb93

File tree

5 files changed

+42
-11
lines changed

5 files changed

+42
-11
lines changed

1.1.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,12 @@ Linux系统用户可通过在Terminal中执行命令`uname -a`来查看系统信
4040

4141
## Linux 安装
4242
访问[下载地址][downlink],32位系统下载go1.0.2.linux-386.tar.gz,64位系统下载go1.0.2.linux-amd64.tar.gz,
43+
44+
假定你想要安装Go的目录为 `$GO_INSTALL_DIR`,后面替换为相应的目录路径。
4345

44-
解压缩`tar zxvf go1.0.2.linux-amd64.tar.gz`
46+
解压缩`tar.gz`包到安装目录下:`tar zxvf go1.0.2.linux-amd64.tar.gz -C $GO_INSTALL_DIR`
4547

46-
移动go文件夹到home目录下`mv go ~/`
47-
48-
设置PATH,`export PATH=$PATH:$HOME/go/bin`
48+
设置PATH,`export PATH=$PATH:$GO_INSTALL_DIR/go/bin`
4949

5050
然后执行`go`
5151

@@ -63,9 +63,9 @@ Linux系统用户可通过在Terminal中执行命令`uname -a`来查看系统信
6363
在类Unix系统中,需要安装gcc等工具,例如Ubuntu系统可通过这种方式安装编译工具:`sudo apt-get install gcc libc6-dev`
6464
在Windows系统中,你需要安装MinGW,然后通过MinGW安装gcc。
6565

66-
首先你必须安装了hg工具,然后执行如下代码
66+
Go使用[Mercurial](http://mercurial.selenic.com/downloads/)进行版本管理,首先你必须安装了Mercurial,然后才行下载。假设你已经安装好Mercurial,执行如下代码
6767

68-
假设目前在当前用户的`home`目录下
68+
假设已经位于Go的安装目录 `$GO_INSTALL_DIR`
6969

7070
hg clone -u release https://code.google.com/p/go
7171
cd go/src
@@ -75,7 +75,7 @@ Linux系统用户可通过在Terminal中执行命令`uname -a`来查看系统信
7575

7676
上面写的是Unix风格的,Windows下安装方式类似,只不过是运行all.bat,调用的编译器是MinGW的 gcc。
7777

78-
然后设置PATH,`export PATH=$PATH:$HOME/go/bin`
78+
然后设置PATH,`export PATH=$PATH:$GO_INSTALL_DIR/go/bin`
7979

8080
看到如下图片说明已经安装成功
8181

1.2.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
## GOPATH设置
44
go 命令依赖一个重要的环境变量:$GOPATH<sup>1</sup>
5+
6+
*(注:这个不是Go安装目录。下面以笔者的工作目录为说明,请替换自己机器上的工作目录。)*
57

68
在类似 Unix 环境大概这样设置:
79

README.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,15 @@
1111

1212
## 撰写方法
1313
### 文件命名
14-
每个章节建立一个md文件,如第11章的第3节,则建立**11.3.md**
15-
16-
## 格式规范
17-
请参看已有章节的规范,要注意的是,每个章节在底部都需要有一个links节,包含“目录”,“上一节”和“下一节”的链接。
14+
每个章节建立一个md文件,如第11章的第3节,则建立**11.3.md**
15+
### 代码文件
16+
代码文件置于src目录之下。每小节代码按目录存放。如第11章的第3节的代码保存于**src/11.3/**目录下。在正文中按需要添加代码。
17+
18+
## 格式规范
19+
### 正文
20+
请参看已有章节的规范,要注意的是,每个章节在底部都需要有一个links节,包含“目录”,“上一节”和“下一节”的链接。
21+
### 代码
22+
代码要**`go fmt`**后提交。注释文件注明其所属于章节。
1823

1924
##如何编译
2025
`build.go`依赖markdown的一个解析包,所以第一步先

src/1.2/main.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// 章节 1.2
2+
// $GOPATH/src/mathapp/main.go
3+
4+
package main
5+
6+
import (
7+
"fmt"
8+
"mymath"
9+
)
10+
11+
func main() {
12+
fmt.Printf("Hello, world. Sqrt(2) = %v\n", mymath.Sqrt(2))
13+
}

src/1.2/sqrt.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// 章节 1.2
2+
// $GOPATH/src/mymath/sqrt.go
3+
package mymath
4+
5+
func Sqrt(x float64) float64 {
6+
z := 0.0
7+
for i := 0; i < 1000; i++ {
8+
z -= (z*z - x) / (2 * x)
9+
}
10+
return z
11+
}

0 commit comments

Comments
 (0)