go语言下的包名和目录名的对应关系

话不多说,看代码:

目录结构如下,顶层文件test.go,有两个子目录,pp和pd。

├── pd
│   └── pa.go
├── pp
│   └── pa.go
└── test.go

test.go的内容如下:

package main

import (
    "fmt"
    "pp"
    pd "pd"
)


func main(){
    fmt.Println(pa.I1)
    fmt.Println(pd.I1)
}

两个目录下的pa.go的内容相同,定义了相同的包名:

package pa 

var I1 int

func init() {
    I1 = 100
}

看出来了没,import只是导入目录名,和包的名字没有任何关系。

结论:import只是导入目录名,相当于添加了PATH变量。

你可能感兴趣的:(GO)