From 0d9339101b70edb5b3e8debe10209e86fbda99de Mon Sep 17 00:00:00 2001 From: gelosie Date: Thu, 20 Sep 2012 13:58:12 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E8=A7=84=E8=8C=83=E8=AF=B4=E6=98=8E=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) 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的一个解析包,所以第一步先 From 4fd4d1dea5e59654723c84668041ce06342cbf35 Mon Sep 17 00:00:00 2001 From: gelosie Date: Thu, 20 Sep 2012 14:25:17 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E5=9C=A8linux=E4=B8=8B=E5=AE=89=E8=A3=85go?= =?UTF-8?q?=E7=9A=84=E6=9B=B4=E9=80=9A=E7=94=A8=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1.1.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/1.1.md b/1.1.md index f77d98e1..3f6abfbc 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` From 0fe439483348a197d5d439df22828d5db93c5b2f Mon Sep 17 00:00:00 2001 From: gelosie Date: Thu, 20 Sep 2012 14:35:34 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E4=BB=8E=E6=BA=90=E7=A0=81=E5=AE=89?= =?UTF-8?q?=E8=A3=85=EF=BC=8C=E7=9B=AE=E5=BD=95=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1.1.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/1.1.md b/1.1.md index 3f6abfbc..d0746f5b 100644 --- a/1.1.md +++ b/1.1.md @@ -65,7 +65,7 @@ Linux系统用户可通过在Terminal中执行命令`uname -a`来查看系统信 首先你必须安装了hg工具,然后执行如下代码: - 假设目前在当前用户的`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` 看到如下图片说明已经安装成功 From 7aaa468d932ff73a5b1905fc4ae4265fdf27d8bb Mon Sep 17 00:00:00 2001 From: gelosie Date: Thu, 20 Sep 2012 14:36:27 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0Go=E6=BA=90=E7=A0=81?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=B7=A5=E5=85=B7=E7=9A=84=E8=AF=B4=E6=98=8E?= =?UTF-8?q?=E5=92=8C=E8=BF=9E=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1.1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1.1.md b/1.1.md index d0746f5b..62dcaf51 100644 --- a/1.1.md +++ b/1.1.md @@ -63,7 +63,7 @@ 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,执行如下代码: 假设已经位于Go的安装目录 `$GO_INSTALL_DIR`下 From feb3465accc7cf9a3a2f316d4f0fc64b50847e0f Mon Sep 17 00:00:00 2001 From: gelosie Date: Thu, 20 Sep 2012 14:59:35 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A01.2=E8=8A=82=E7=9A=84?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1.2.md | 2 ++ src/1.2/main.go | 13 +++++++++++++ src/1.2/sqrt.go | 11 +++++++++++ 3 files changed, 26 insertions(+) create mode 100644 src/1.2/main.go create mode 100644 src/1.2/sqrt.go 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/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 +}