我对 Go 很陌生,我已经了解了如何编写 Go 代码虽然它非常有帮助,但我对如何使用同一个库中的 go 文件感到困惑。例如,这是我的结构:~/src/ hashtable/ hashtable.go linkedlist.go我想在哈希表中使用链表。我的目录结构应该是什么,我应该使用什么包名?
1 回答
ABOUTYOU
TA贡献1812条经验 获得超5个赞
在 Go 中,具有相同包名的两个或多个文件被视为一个包,这意味着在命名空间内可以访问所有内容,包括私有(小写)和公共(大写)符号。
例如,如果hashtable.go和linkedlist.go共享相同的包名:
package hashtable
import (
...
)
那么两者都被认为是同一个文件。
但是,如果它们具有不同的包名称,最佳做法是将它们保存在单独的目录中。
// hashtable.go
package hashtable
import (
...
)
type Hashtable struct {}
// linkedlist.go
package linkedlist
import (
...
)
type Linkedlist struct {}
然后以这种方式组织它们:
project/
├── hashtable
| └── hashtable.go
└── linkedlist
└── linkedlist.go
例如,在hashtable.go, importlinkedlist以使用其公共变量:
// hashtable.go
package hashtable
import (
../linkedlist
)
li = linkedlist.Linkedlist{}
- 1 回答
- 0 关注
- 140 浏览
添加回答
举报
0/150
提交
取消