代码目录结构规划
上一篇文章我们已经简单介绍过GOPATH了:
GOPATH目录约定有三个子目录:
src 存放源代码
pkg 编译后生成的文件
bin 编译后生成的可执行文件
src目录就是接下我们存放项目代码的主要目录,按照一个目录一个项目存放即可。当新建应用或者代码包时,在src目录下新建一个文件夹,文件夹名称一般是代码包名称,允许有多级目录。
创建包
cd $GOPATH/src
mkdir mytest
新建文件sum.go,内容如下:
package mytest
func Sum(x, y float64) float64 {
return x + y
}
这样我们的应用包目录和代码已经新建完毕,注意:一般建议package的名称和目录名保持一致。
接下来就是编译安装了。有两种方式可以进行安装:1、在任意的目录执行如下代码go install mytest
2、只要进入对应的应用包目录,然后执行go install
安装完之后,pkg目录下就会生成对应的mytest.a包文件。
编译应用
如何进行调用我们刚刚创建的包呢?
新建应用包myapp
cd $GOPATH/src
mkdir myapp
cd myapp
vim main.go
编写如下代码:
package main
import (
"mytest"
"fmt"
)
func main() {
fmt.Printf("Hello, world. 1+2 = %v\n", mytest.Sum(1, 2))
}
可以看到这个的package是main,代表我们创建了一个可执行应用
接下来在该应用目录,执行 go build进行编译,如果成功的话会在该目录下面会生成一个 myapp的可执行文件执行就可以看到结果了:
./myapp
如果编译没有问题,就可以执行在该目录执行go install进行安装了
获取远程包
Go语言自带一个获取远程包的工具go get,执行以下命令获取远程包:
go get github.com/go-sql-driver/mysql
这里我们获取的是mysql驱动包,执行完毕之后可以在src目录下看到对应的包
如果以后需要更新该包,执行go get -u命令即可