import A //会初始化 A 中的变量和常量,并执行 init 。
// 如果 A 中导入了 B包,会先初始化 B 中常量和变量,然后执行 init 函数,最后到 A
1.包的导入
import . "./pack1" //当使用.来做为包的别名时,你可以不通过包名来使用其中的项目。例如:test := ReturnStr()
import _ "./pack1/pack1" //pack1包只导入其副作用,也就是说,只执行它的init函数并初始化其中的全局变量。
导入外部安装包:
如果你要在你的应用中使用一个或多个外部包,首先你必须使用 go install(参见第 9.7 节)在你的本地机器上安装它们。
假设你想使用 http://codesite.ext/author/goExample/goex 这种托管在 Google Code、GitHub 和 Launchpad 等代码网站上的包。
你可以通过如下命令安装:
go install codesite.ext/author/goExample/goex
将一个名为 codesite.ext/author/goExample/goex 的 map 安装在 $GOROOT/src/ 目录下。
通过以下方式,一次性安装,并导入到你的代码中:
import goex "codesite.ext/author/goExample/goex"
2.包的初始化
程序的执行开始于导入包,初始化 main 包然后调用 main 函数。
一个没有导入的包将通过分配初始值给所有的包级变量和调用源码中定义的包级 init 函数来初始化。一个包可能有多个 init 函数甚至在一个源码文件中。它们的执行是无序的。这是最好的例子来测定包的值是否只依赖于相同包下的其他值或者函数。
init 函数是不能被调用的。
导入的包在包自身初始化前被初始化,而一个包在程序执行中只能初始化一次。
3.为自定义包使用 godoc
godoc -http=:6060 -goroot="."
在浏览器打开地址:http://localhost:6060
4.使用 go install 安装自定义包
go install 是 Go 中自动包安装工具:如需要将包安装到本地它会从远端仓库下载包:检出、编译和安装一气呵成。
5.包别名
import 别名 "tideland-cgl.googlecode.com/hg"
升级到新的版本:
更新到新版本的 Go 之后本地安装包的二进制文件将全被删除。如果你想更新,重编译、重安装所有的go安装包可以使用:go install -a。
6.在 Go 程序中使用外部库
下载并安装 Go 客户端库: 将通过 go install 实现。但是首先要验证环境变量中是否含有 GOPATH 变量,
因为外部源码将被下载到 $GOPATH/src 目录下并被安装到 $GOPATH/PKG/"machine_arch"/ 目录下。
1.import
2.原理:
3.import 别名 "." "-"