Golang: Language: Package Name

18th January 2022 at 3:05pm

Go 的包名可以与其目录不一样。(但同个目录内的不同 go 文件的包名需要是一致的。)比如有一个 banana/a.go 文件:

package apple

func WhoAmI() string {
    return "apple"
}

使用时:

import "banana"

func main() {
    apple.WhoAmI()   // "apple"
}

但一般还是不要让目录名与包名不一样。真有点奇葩。Go 标准库遵循这个规则。