diff --git a/1.1.md b/1.1.md index f77d98e1..62dcaf51 100644 --- a/1.1.md +++ b/1.1.md @@ -40,12 +40,12 @@ Linux系统用户可通过在Terminal中执行命令`uname -a`来查看系统信 ## Linux 安装 访问[下载地址][downlink],32位系统下载go1.0.2.linux-386.tar.gz,64位系统下载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` 看到如下图片说明已经安装成功 diff --git a/1.2.md b/1.2.md index a9558458..3b16849f 100644 --- a/1.2.md +++ b/1.2.md @@ -2,6 +2,8 @@ ## GOPATH设置 go 命令依赖一个重要的环境变量:$GOPATH1 + + *(注:这个不是Go安装目录。下面以笔者的工作目录为说明,请替换自己机器上的工作目录。)* 在类似 Unix 环境大概这样设置: diff --git a/README.md b/README.md index a46494b6..cb577654 100644 --- a/README.md +++ b/README.md @@ -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的一个解析包,所以第一步先 diff --git a/src/1.2/main.go b/src/1.2/main.go new file mode 100644 index 00000000..328acd54 --- /dev/null +++ b/src/1.2/main.go @@ -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)) +} diff --git a/src/1.2/sqrt.go b/src/1.2/sqrt.go new file mode 100644 index 00000000..2fb5d8fc --- /dev/null +++ b/src/1.2/sqrt.go @@ -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 +}