我是Go的新手,我经历了How to Write Go Code
虽然它非常有用,但我对如何在同一个库中使用go文件感到困惑。
例如,这是我的结构:
~/src/
hashtable/
hashtable.go
linkedlist.go
我想在哈希表中使用链表。我的目录结构应该是什么以及我应该使用哪些包名?
答案 0 :(得分:0)
在Go中,两个或多个具有相同包名称的文件被视为一个包,这意味着一切都可以在命名空间中访问,包括私有(小写)和公共(大写)符号。
例如,如果evaluationDependsOn(':projectB')
task taskA(type:Copy, dependsOn:':projectB:taskB'){
from tasks.getByPath(':projectB:taskB').outputs
into 'someFolder'
}
和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
以使用其公共变量:
linkedlist