macbook下 go 语言的 helloworld
- go语言开发的目录
一般go语言$GOPATH 目录约定有三个子目录: - src 存放源代码(比如:.go .c .h .s等)
- pkg 编译后生成的文件(比如:.a)
- bin 编译后生成的可执行文件(为了方便,可以把此目录加入到 $PATH 变量中,如果有多个gopath,那么使用
${GOPATH//://bin:}/bin
添加所有的bin目录) - go语言开发目录规划
GOPATH下的src目录就是接下来开发程序的主要目录,所有的源码都是放在这个目录下面,那么一般我们的做法就是一个目录一个项目,例如: $GOPATH/src/mymath 表示mymath这个应用包或者可执行应用,这个根据package是main还是其他来决定,main的话就是可执行应用,其他的话就是应用包 - helloworld的创建
下面就以mymath为例来讲述如何编写应用包,执行如下代码:
cd $GOPATH/src mkdir 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 }
注意:一般建议package的名称和目录名保持一致
此时,应用包已经创建完毕,下面就是安装应用包,有如下两种方式安装:1、只要进入对应的应用包目录,然后执行
go install
,就可以安装了2、在任意的目录执行如下代码
go install mymath
安装完成后,通过命令:cd $GOPATH/pkg/${GOOS}_${GOARCH}
可以看到文件 mymath.a
至此,已经建立好应用包,下面建立一个程序来调用应用包,新建应用包 mathapp
cd $GOPATH/src mkdir mathapp cd mathapp vim main.go
main.go 的源码如下:
package main import ( "mymath" "fmt" ) func main() { fmt.Printf("Hello, world. Sqrt(2) = %v\n", mymath.Sqrt(2)) }
进入应用的目录,执行 go build 就会生成一个 mathapp 的可执行文件,执行如下命令:
./mathapp
就会得到如下输出:
Hello, world. Sqrt(2) = 1.414213562373095