mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-11 19:41:43 +08:00
when I import the pack1, if I add the ./pack1/pack1, it will fai… (#760)
* when I import the pack1, if I add the ./pack1/pack1, it will failed * also the import exercise need updating * the path in this file
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
当写自己包的时候,要使用短小的不含有 `_`(下划线)的小写单词来为文件命名。这里有个简单例子来说明包是如何相互调用以及可见性是如何实现的。
|
||||
|
||||
当前目录下(examples/chapter_9/book/)有一个名为 package_test.go 的程序, 它使用了自定义包 pack1 中 pack1.go 的代码。这段程序(连同编译链接生成的 pack1.a)存放在当前目录下一个名为 pack1 的文件夹下。所以链接器将包的对象和主程序对象链接在一起。
|
||||
当前目录下(examples/chapter_9/book/)有一个名为 package_mytest.go 的程序, 它使用了自定义包 pack1 中 pack1.go 的代码。这段程序(连同编译链接生成的 pack1.a)存放在当前目录下一个名为 pack1 的文件夹下。所以链接器将包的对象和主程序对象链接在一起。
|
||||
|
||||
示例 9.4 [pack1.go](examples/chapter_9/book/pack1/pack1.go):
|
||||
|
||||
@@ -20,10 +20,10 @@ func ReturnStr() string {
|
||||
|
||||
它包含了一个整型变量 `Pack1Int` 和一个返回字符串的函数 `ReturnStr`。这段程序在运行时不做任何的事情,因为它不包含有一个 main 函数。
|
||||
|
||||
在主程序 package_test.go 中这个包通过声明的方式被导入
|
||||
在主程序 package_mytest.go 中这个包通过声明的方式被导入, 只到包的目录一层。
|
||||
|
||||
```go
|
||||
import "./pack1/pack1"
|
||||
import "./pack1"
|
||||
```
|
||||
|
||||
import 的一般格式如下:
|
||||
@@ -36,14 +36,14 @@ import 的一般格式如下:
|
||||
|
||||
路径是指当前目录的相对路径。
|
||||
|
||||
示例 9.5 [package_test.go](examples/chapter_9/book/package_test.go):
|
||||
示例 9.5 [package_mytest.go](examples/chapter_9/book/package_mytest.go):
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"./pack1/pack1"
|
||||
"./pack1"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"./greetings/greetings"
|
||||
"./greetings"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
|
Reference in New Issue
Block a user