Merge pull request #142 from shenfeng/master

代码高亮,利于阅读
This commit is contained in:
astaxie
2013-01-15 19:54:53 -08:00

38
01.2.md
View File

@@ -6,13 +6,13 @@
*这个不是Go安装目录。下面以笔者的工作目录为说明请替换自己机器上的工作目录。*
在类似 Unix 环境大概这样设置:
```sh
export GOPATH=/home/apple/mygo
```
Windows 设置如下新建一个环境变量名称叫做GOPATH
```sh
GOPATH=c:\mygo
```
GOPATH允许多个目录当有多个目录时请注意分隔符多个GOPATH的时候Windows是分号Linux系统是冒号当有多个GOPATH时默认会将go get的内容放在第一个目录下
@@ -30,12 +30,12 @@ GOPATH允许多个目录当有多个目录时请注意分隔符多个GO
以后自己新建应用或者一个代码包都是在src目录下新建一个文件夹文件夹名称代码包名称当然也允许多级目录例如在src下面新建了目录$GOPATH/src/github.com/astaxie/beedb 那么这个包名称就是“github.com/astaxie/beedb”
执行如下代码
```sh
cd $GOPATH/src
mkdir mymath
```
新建文件sqrt.go内容如下
```go
// $GOPATH/src/mymath/sqrt.go源码如下
package mymath
@@ -46,7 +46,7 @@ GOPATH允许多个目录当有多个目录时请注意分隔符多个GO
}
return z
}
```
这样我的应用包目录和代码已经新建完毕注意package的名称必须和目录名保持一致
## 编译应用
@@ -57,24 +57,24 @@ GOPATH允许多个目录当有多个目录时请注意分隔符多个GO
2、在任意的目录执行如下代码`go install mymath`
安装完之后,我们可以进入如下目录
```sh
cd $GOPATH/pkg/${GOOS}_${GOARCH}
//可以看到如下文件
mymath.a
```
这个.a文件是应用包相当于一个函数库一样那么我们如何进行调用呢
接下来我们新建一个应用程序来调用
新建应用包mathapp
```sh
cd $GOPATH/src
mkdir mathapp
cd mathapp
vim main.go
```
// `$GOPATH/src/mathapp/main.go`源码:
```go
package main
import (
@@ -85,19 +85,19 @@ GOPATH允许多个目录当有多个目录时请注意分隔符多个GO
func main() {
fmt.Printf("Hello, world. Sqrt(2) = %v\n", mymath.Sqrt(2))
}
```
如何编译程序呢?进入该应用目录,然后执行`go build`那么在该目录下面会生成一个mathapp的可执行文件
```sh
./mathapp
```
输出如下内容
```sh
Hello, world. Sqrt(2) = 1.414213562373095
```
如何安装该应用,进入该目录执行`go install`,那么在$GOPATH/bin/下增加了一个可执行文件mathapp,这样可以在命令行输入如下命令就可以执行
mathapp
也是输出如下内容
Hello, world. Sqrt(2) = 1.414213562373095