66 * (注:这个不是Go安装目录。下面以笔者的工作目录为说明,请替换自己机器上的工作目录。)*
77
88 在类似 Unix 环境大概这样设置:
9-
9+ ``` sh
1010export GOPATH=/home/apple/mygo
11-
11+ ```
1212 Windows 设置如下,新建一个环境变量名称叫做GOPATH:
13-
13+ ``` sh
1414GOPATH=c:\m ygo
15-
15+ ```
1616GOPATH允许多个目录,当有多个目录时,请注意分隔符,多个GOPATH的时候Windows是分号,Linux系统是冒号,当有多个GOPATH时,默认会将go get的内容放在第一个目录下
1717
1818
@@ -30,12 +30,12 @@ GOPATH允许多个目录,当有多个目录时,请注意分隔符,多个GO
3030以后自己新建应用或者一个代码包都是在src目录下新建一个文件夹,文件夹名称代码包名称,当然也允许多级目录,例如在src下面新建了目录$GOPATH/src/github.com/astaxie/beedb 那么这个包名称就是“github.com/astaxie/beedb”
3131
3232执行如下代码
33-
33+ ``` sh
3434cd $GOPATH /src
3535mkdir mymath
36-
36+ ```
3737新建文件sqrt.go,内容如下
38-
38+ ``` go
3939// $GOPATH/src/mymath/sqrt.go源码如下:
4040package mymath
4141
@@ -46,7 +46,7 @@ GOPATH允许多个目录,当有多个目录时,请注意分隔符,多个GO
4646}
4747return z
4848}
49-
49+ ```
5050这样我的应用包目录和代码已经新建完毕,注意:package的名称必须和目录名保持一致
5151
5252## 编译应用
@@ -57,24 +57,24 @@ GOPATH允许多个目录,当有多个目录时,请注意分隔符,多个GO
57572、在任意的目录执行如下代码` go install mymath `
5858
5959安装完之后,我们可以进入如下目录
60-
60+ ``` sh
6161cd $GOPATH /pkg/${GOOS} _${GOARCH}
6262//可以看到如下文件
6363mymath.a
64-
64+ ```
6565这个.a文件是应用包,相当于一个函数库一样,那么我们如何进行调用呢?
6666
6767接下来我们新建一个应用程序来调用
6868
6969新建应用包mathapp
70-
70+ ``` sh
7171cd $GOPATH /src
7272mkdir mathapp
7373cd mathapp
7474vim main.go
75-
75+ ```
7676// ` $GOPATH/src/mathapp/main.go ` 源码:
77-
77+ ``` go
7878package main
7979
8080import (
@@ -85,19 +85,19 @@ GOPATH允许多个目录,当有多个目录时,请注意分隔符,多个GO
8585func main () {
8686 fmt.Printf (" Hello, world. Sqrt(2) = %v \n " , mymath.Sqrt (2 ))
8787}
88-
88+ ```
8989如何编译程序呢?进入该应用目录,然后执行` go build ` ,那么在该目录下面会生成一个mathapp的可执行文件
90-
90+ ``` sh
9191./mathapp
92-
92+ ```
9393输出如下内容
94-
94+ ``` sh
9595Hello, world. Sqrt(2) = 1.414213562373095
96-
96+ ```
9797如何安装该应用,进入该目录执行` go install ` ,那么在$GOPATH/bin/下增加了一个可执行文件mathapp,这样可以在命令行输入如下命令就可以执行
9898
9999mathapp
100-
100+
101101也是输出如下内容
102102
103103Hello, world. Sqrt(2) = 1.414213562373095
0 commit comments