猿问

参考库中的另一个 .go 文件

我对 Go 很陌生,我已经了解了如何编写 Go 代码


虽然它非常有帮助,但我对如何使用同一个库中的 go 文件感到困惑。


例如,这是我的结构:


~/src/

    hashtable/

      hashtable.go

      linkedlist.go

我想在哈希表中使用链表。我的目录结构应该是什么,我应该使用什么包名?


MMTTMM
浏览 141回答 1
1回答

ABOUTYOU

在 Go 中,具有相同包名的两个或多个文件被视为一个包,这意味着在命名空间内可以访问所有内容,包括私有(小写)和公共(大写)符号。例如,如果hashtable.go和linkedlist.go共享相同的包名:package hashtableimport (        ...)那么两者都被认为是同一个文件。但是,如果它们具有不同的包名称,最佳做法是将它们保存在单独的目录中。// hashtable.gopackage hashtableimport (        ...)type Hashtable struct {}// linkedlist.gopackage linkedlistimport (        ...)type Linkedlist struct {}然后以这种方式组织它们:project/├── hashtable|   └── hashtable.go└── linkedlist    └── linkedlist.go例如,在hashtable.go, importlinkedlist以使用其公共变量:// hashtable.gopackage hashtableimport (        ../linkedlist)li = linkedlist.Linkedlist{}
随时随地看视频慕课网APP

相关分类

Go
我要回答