Go 的package

 

1、包的一些基本的概念git

一、在同一个目录下的全部go文件中,只能有一个main函数。若是存在多个main函数,则在编译的时候会报错github

那么,在同一个目录下的两个go文件到底是什么关系? 为何会彼此影响呢?函数

这里要提到go package的两个约束:spa

一、同一个目录下的go文件,若是package是main,那么这个目录下的go文件只能有一个main函数。3d

二、同一个目录下的go文件,只能是一个package。 (注意: 这里说的是同一个目录下的go文件,但不是同一个目录下的其余目录中的go文件)blog

 

那么问题来了,为何须要package呢?文档

在一个项目中,会有不少个go文件,package的做用就是进行一个代码分类组织get

举个例子:string

  1.在hello.go里面定义个main函数,引用了main的package。it

  2.在另外一个echo.go里面,由于只能有一个main函数,因此这里只定义了变量 var X string  = "chenchao"

  3.那么在hello.go里面就能够直接用另外一个文件中的X变量了

package的做用:

  一、同一个package下能够共享变量

  二、同一个package下能够共享函数

 

 2、一个在线的package的帮助文档

 

 http://godoc.org/+包的名称

 

 3、引入第三方的package

例如: 引入github下的一个库

一、go get github.com/icexin/golib

  这一步操做就是讲git上的库下载到本地,你会发现这条命令会将package默认下载到 $GOPATH下的/src/下,并与package的目录结构一致。

二、在/src/的其余目录下新建立一个目录如:/thirdlib/,做为另外一个package,而后在目录下新建一个main.go文件,并导入刚才下载的第三方package

  

这里引入的第三方package 是一个全路径,这个路径就是从 $GOPATH/src/开始算起。因此,要写的路径就是从/src/开始。

相关文章
相关标签/搜索