Go语言包

Go语言包教程

Go 语言 的源码组织使用的是包的形式。Go 语言的 main 函数只有在 main 包里面才可以被系统执行。

Golang 中的包与文件夹是一一对应的,必须创建在 GOPATH 目录下才可以被使用。Golang 中的一个包需要引用另一个包的内容,那么必须在开始使用 import 关键字进行导入才可以使用。

Golang 中的任何源代码文件必须属于某个包。源码文件的第一行有效代码必须是 package pacakgeName 语句,通过该语句声明自己所在的包。

Go语言包定义

Go 语言的包借助了目录树的组织形式,一般包的名称就是其源文件所在目录的名称,虽然 Go 没有强制包名必须和其所在的目录名同名,但还是建议包名和所在目录同名,这样结构更清晰。

包可以定义在很深的目录中,包的定义是不包括目录路径的,但是包的引用一般是全路径引用。比如在 $GOPATH/src/a/b/ 下定义一个包 c。在包 c 的源码中只需声明为 package c,而不是声明为 package a/b/c,但是在 importc 时,需要带上路径 import "a/b/c"

Go语言包用法

  • 包名一般是小写的,使用一个简短的命名。
  • 包名一般要和所在的目录同名。
  • 包一般放到公司的域名目录下,这样能保证包名的唯一性,便于共享代码。

Go语言内置包

Go 语言的内置的系统包的源码位于 $GOROOT/src/ 目录,因为我们可以直接使用。而自定义的包和第三方的包的源码必须放到 $GOPATH/src 目录下才能被引用。

Go语言包加载

Golang 程序在执行之前,首先会从 main 包开始,在执行 main 包的 main 函数 之前,Go 引导程序会先对整个程序的包进行初始化。

对包的初始化所做的工作就是从 main 包引入的第一个包开始,递归式的执行每一个被引入的包的 常量、全局变量、init 函数 等。

等所有包的所有的初始化工作都完成之后,开始从 main 包的 main 函数执行我们的程序。

Golang包使用总结

Go 语言的源码组织使用的是包的形式。Go 语言的 main 函数只有在 main 包里面才可以被系统执行。