无法理解如何在多个文件中编译 go 代码

好吧,Go 的主要卖点是它易于编译和出色的工具链,但作为一个 Go 新手,我真的迷失在那里,无法理解关于这一点的文档。

我在两个文件中有一个堆栈玩具示例(一个用于类型定义和方法,称为stack.go,一个用于主程序,称为main.go),两者都在我的GOPATH/src/stacker目录中。

  1. 每个文件应该如何命名?它有什么重要意义吗?至少有一个约定吗?强制命名 ?

  2. 包名应该是什么?我知道他们应该使用相同的包名,但是哪个?是stacker吗?

  3. main.go,我应该如何使用import指令来导入stack.go

我尝试了很多组合,直到现在都没有工作。


牧羊人nacy
浏览 198回答 1
1回答

青春有我

只要你喜欢,你可以命名文件,只需提防特殊后缀的像_test和_<arch>(_darwin,_unix,等)。还要注意以.or为前缀的文件_不会被编译到包中!建议您将包命名为文件所在的文件夹,尽管可能(但会混淆)在声明中以不同的方式命名包&nbsp;package mypkg如果stack.go与 位于同一文件夹/包中main.go,则无需导入。中声明的所有内容都已在stack.go中可用main.go,因为它在同一个包中。如果stacker应该编译为可执行文件,则应使用package main.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go