3

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

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

  1. 每个文件应该如何命名?它有什么重要性吗?至少有一个约定吗?强制命名?
  2. 包名应该是什么?我知道他们应该使用相同的包名,但是哪一个呢?是stacker吗?
  3. main.go,我应该如何使用import指令来导入stack.go

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

4

1 回答 1

9
  1. 您可以随意命名文件,但请注意特殊后缀,如_test_<arch>( _darwin_unix等)。另请注意,前缀为._不会编译到包中的文件!
  2. 建议您将包命名为文件所在的文件夹,尽管在声明中以不同的方式命名包是可能的(但令人困惑)package mypkg
  3. 如果stack.go与 位于同一文件夹/包中main.go,则无需导入。中的所有内容都已在stack.go中可用main.go,因为它在同一个包中。

如果stacker应该编译成可执行文件,你应该使用package main.

于 2013-03-08T14:21:15.187 回答