import bar "bytes"
bar.Buffer包名本质上是所在目录的名称,我们在基础知识演示用例中进行扩展,进一步理解包名,执行前需要执行的命令请参考上一节,首先来看一下目录结构:
├── main.go
├── src
│ ├── myfunc
│ │ └── myfunc.go
│ └── subpackage
│ └── sub
│ └── subfunc.go
└── test_package此时,如果我们想使用subpackage/sub/subfunc.go时,需要import的是subpackage/sub,而不是subpackage/sub/subfunc,来看具体的实现:
package subfunc
import "fmt"
func MySubFunc() {
fmt.Println("This is a sub package func")
}我们回到使用的主函数中,我们在主函数中引入"subpackage/sub",而调用中直接使用了文件名称myfunc
package main
import "myfunc"
import "subpackage/sub"
func main() {
myfunc.MyPublicFunc()
// NOTE(Ray): Can not call private function
//myfunc.myPrivateFunc()
subfunc.MySubFunc()
}执行的结果如下
Use my public function.
This is a sub package func | 留言与评论(共有 0 条评论) “” |