|
|
@@ -23,16 +23,16 @@ func ReturnStr() string {
|
|
|
在主程序 pack_test.go 中这个包通过声明的方式被导入
|
|
|
|
|
|
```go
|
|
|
-import “./pack1/pack1”
|
|
|
+import "./pack1/pack1"
|
|
|
```
|
|
|
|
|
|
import 的一般格式如下:
|
|
|
|
|
|
- import “包的路径或url地址“ 像 import "github.com/org1/pack1”
|
|
|
+ import “包的路径或url地址” 像 import "github.com/org1/pack1"
|
|
|
|
|
|
路径是指当前目录的相对路径。
|
|
|
|
|
|
-示例 9.5 [package_test.go](examples/chapter_9/package_test.go):
|
|
|
+示例 9.5 [package_test.go](examples/chapter_9/book/package_test.go):
|
|
|
|
|
|
```go
|
|
|
package main
|
|
|
@@ -46,8 +46,8 @@ func main() {
|
|
|
var test1 string
|
|
|
test1 = pack1.ReturnStr()
|
|
|
fmt.Printf("ReturnStr from package1: %s\n", test1)
|
|
|
- fmt.Printf(“Integer from package1: %d\n”, pack1.Pack1Int)
|
|
|
- // fmt.Printf(“Float from package1: %f\n”, pack1.pack1Float)
|
|
|
+ fmt.Printf("Integer from package1: %d\n", pack1.Pack1Int)
|
|
|
+ // fmt.Printf("Float from package1: %f\n", pack1.pack1Float)
|
|
|
}
|
|
|
```
|
|
|
|
|
|
@@ -66,13 +66,13 @@ func main() {
|
|
|
|
|
|
因此,按照惯例子目录和包之间有着密切的联系:为了区分不同包存放在不同的目录,每个包(所有属于这个包中的 go 文件)都存放在和包名相同的子目录下:
|
|
|
|
|
|
- **Import with .** : import . “./pack1”
|
|
|
+ **Import with .** : import . "./pack1"
|
|
|
|
|
|
当使用.来做为包的别名时,你可以不通过包名来使用其中的项目。例如:`test := ReturnStr()`。
|
|
|
|
|
|
在当前的命名空间导入 pack1 包,一般是为了具有更好的测试效果。
|
|
|
|
|
|
- **Import with _** : import _ “./pack1/pack1”
|
|
|
+ **Import with _** : import _ "./pack1/pack1"
|
|
|
|
|
|
pack1包只导入其副作用,也就是说,只执行它的init函数并初始化其中的全局变量。
|
|
|
|
|
|
@@ -90,7 +90,7 @@ pack1包只导入其副作用,也就是说,只执行它的init函数并初
|
|
|
|
|
|
通过以下方式,一次性安装,并导入到你的代码中:
|
|
|
|
|
|
- import goex “codesite.ext/author/goExample/goex”
|
|
|
+ import goex "codesite.ext/author/goExample/goex"
|
|
|
|
|
|
因此该包的URL将用作导入路径。
|
|
|
|