代码目录结构规划

上一篇文章我们已经简单介绍过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命令即可