10.Go语言基础之包
在工程化的GO语言开发项目中,GO语言的源码复用是建立在包(pakage)基础之上的。 不仅GO语言中有包的概念,别的语言中也是有包的概念的。 1.Go语言的包(package) 1.1包介绍 包(package)是多个Go源码的集合,是一种高级的代码复用方案,Go语言为我们提供了很多内置包,如fmt,os,io等。 1.2定义包 我们可以根据自己的需要创建自己的包。 一个包可以简单理解为一个存放.go文件的文件夹。该文件夹下面的所有go文件都要在代码的第一行添加如下代码,声明改文件归属的包。 package 包名 注意事项: 1.一个文件夹下面直接包含的文件只能归属一个package,同样一个package的文件不能再多个文件夹下。 2.包名可以不和文件夹的名字一样,包名不能包含-符号。 3.包名为main的包为应用程序的入口包,这种包编译后会得到一个可执行文件,而编译不包含main包的源代码则不会得到可执行文件。 1.3可见性 如果想在一个包中引用另外一个包里的标识符(如变量,常量,类型,函数等)时,该标识符必须是对外可见的(public)。 在Go语言中,只需要将标识符的首字母大写就可以让标识符对外可见了。 package pkg2 import "fmt" // 包变量可见性 var a = 100 // 首字母小写,外部包不可见,只能在当前包内使用 //