请参阅库中的另一个.go文件

时间:2016-01-19 19:20:44

标签: go

我是Go的新手,我经历了How to Write Go Code

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

例如,这是我的结构:

~/src/
    hashtable/
      hashtable.go
      linkedlist.go

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

1 个答案:

答案 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