私は、すべての.go
ディレクトリ内のファイルは同じパッケージを指定する必要があることを知った。GO - ファイルのパッケージ名
、
fogleman/nes/
nes/
apu.go
cartridge.go
console.go
controller.go
cpu.go
filter.go
ines.go
mapper.go
mapper1.go
mapper2.go
mapper3.go
mapper4.go
mapper7.go
memory.go
palette.go
ppu.go
ui/
util/
.gitignore
LICENSE.md
README.md
main.go
ので、ディレクトリ内のすべてのファイル.go
(../fogleman/nes/nes
)は(ディレクトリ名と同じ)パッケージ名nes
を持っています。
同様に、ディレクトリ内の.go
ファイルのすべてがのパッケージ名ui
(ディレクトリ名と同じ)です。二つのファイルの下に考慮
、私は疑問を持っている、ディレクトリ内
1)
roms.go
ファイル(../fogleman/nes/util
))は、ディレクトリ名とは異なるパッケージ名main
()
2を持っています
main.go
ディレクトリ内のファイル(../fogleman/nes
)は、パッケージmain
(ディレクトリ名とは異なります)。
質問:
パッケージ名(main
が)そのディレクトリ名と異なっているのはなぜ?
ディレクトリ名とパッケージ名が一致する必要はありません、彼らは通常、慣例により行います。 – JimB
@JimB 'roms.go'シンボルを別のファイルにインポートする必要がある場合、' import github.com/fogleman/nes/util/main'と言う必要がありますか? – overexchange
パス単位でのみインポートできますが、メインパッケージはインポートできません。 'main'はプログラムエントリーポイントです。 – JimB