包和文件 | 青训营

137 阅读2分钟

Go语言中的包和其他语言的库或模块的概念类似,目的都是为了支持模块化、封装、单独编译和代码重用。

包(Packages)

在 Go 中,一个包是一组相关的代码文件的集合,它们一起提供特定功能。每个 Go 源代码文件都属于一个包。包的名称通常与其所在的目录名称相符。

要创建一个新的包,你可以按以下步骤进行操作:

在你的 GOPATH 目录下创建一个新的目录,目录名称即为包的名称。 在该目录下创建一个或多个以 .go 为扩展名的源代码文件。 例如,假设你想创建一个名为 mypackage 的包,可以按照以下方式组织你的文件:

GOPATH/ src/ mypackage/ file1.go file2.go

导入包(Importing Packages) 要在你的 Go 代码中使用其他包中的功能,你需要导入这些包。使用 import 关键字来导入其他包。

在你的源代码文件中,可以通过以下方式导入包:

 import "packageName"

其中 packageName 是你要导入的包的名称。如果你要导入的包位于 GOPATH 目录下的包路径中,可以直接使用包名进行导入。否则,你需要提供完整的包路径。

你还可以使用括号导入多个包:

import ( 
"packageName1"
"packageName2" 
)

包的可见性(Package Visibility) 在 Go 中,包中的标识符(函数、变量等)可以是公开的或私有的。公开的标识符可以从其他包中访问,而私有的标识符只能在当前包内部访问。

Go 中的公开标识符以大写字母开头,而私有标识符以小写字母开头。当你导入一个包时,只有公开的标识符才能被访问。

文件和包的关系 在 Go 中,每个文件都属于一个包。一个包可以由多个文件组成,它们共同实现该包的功能。

对于一个包来说,其中的一个文件应该包含一个 package 声明,该声明指定了该文件所属的包。其他文件应该使用相同的包声明。

一般来说,每个包都应该有一个入口文件(例如 main.go),它定义了该包的入口点(例如 main() 函数)。这是一个可执行程序的起点。