当前位置:嗨网首页>书籍在线阅读

05-导入

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

3.2 导入

我们已经了解如何把代码组织到包里,现在让我们来看看如何导入这些包,以便可以访问包内的代码。 import 语句告诉编译器到磁盘的哪里去找想要导入的包。导入包需要使用关键字 import ,它会告诉编译器你想引用该位置的包内的代码。如果需要导入多个包,习惯上是将 import 语句包装在一个导入块中,代码清单3-3展示了一个例子。

代码清单3-3  import 声明块

import (
  "fmt"
  "strings"  ●――――strings包提供了很多关于字符串的操作,如查找、替换或者变换。可以通过访问http://golang.org/pkg/strings/或者在终端运行godoc strings来了解更多关于strings包的细节。
)

编译器会使用Go环境变量设置的路径,通过引入的相对路径来查找磁盘上的包。标准库中的包会在安装Go的位置找到。Go开发者创建的包会在 GOPATH 环境变量指定的目录里查找。 GOPATH 指定的这些目录就是开发者的个人工作空间。

举个例子。如果Go安装在/usr/local/go,并且环境变量 GOPATH 设置为/home/myproject:/home/ mylibraries,编译器就会按照下面的顺序查找 net/http 包:

/usr/local/go/src/pkg/net/http   ●――――这就是标准库源代码所在的位置。
/home/myproject/src/net/http
/home/mylibraries/src/net/http

一旦编译器找到一个满足 import 语句的包,就停止进一步查找。有一件重要的事需要记住,编译器会首先查找Go的安装目录,然后才会按顺序查找 GOPATH 变量里列出的目录。

如果编译器查遍 GOPATH 也没有找到要导入的包,那么在试图对程序执行 run 或者 build 的时候就会出错。本章后面会介绍如何通过 go get 命令来修正这种错误。