gpt4 book ai didi

go - 引用库中的另一个.go文件

转载 作者:数据小太阳 更新时间:2023-10-29 03:42:33 29 4
gpt4 key购买 nike

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

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

例如,这是我的结构:

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

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

最佳答案

在 Go 中,两个或多个具有相同包名称的文件被视为一个包,这意味着在命名空间内可以访问所有内容,包括私有(private)(小写)和公共(public)(大写)符号。

例如,如果 hashtable.golinkedlist.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 以使用其公共(public)变量:

// hashtable.go
package hashtable

import (
../linkedlist
)

li = linkedlist.Linkedlist{}

关于go - 引用库中的另一个.go文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34885238/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com