为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
MMTTMM 2021-12-07 14:41:40
我对 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{}


查看完整回答
反对 回复 2021-12-07
  • 1 回答
  • 0 关注
  • 140 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信