我對 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 關注
- 165 瀏覽
添加回答
舉報
0/150
提交
取消