2013-03-08 23 views
3

OK Go代码,围棋的主要卖点是它易于编辑和美妙的工具链的,但作为一个新手去,我真的失去了存在和无法理解上的文档点。无法知道如何编译在多个文件中

我有两个文件(一个类型定义和方法,称为stack.go,一个主程序,称为main.go)内的叠玩具例子,都是在我的GOPATH/src/stacker目录。

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

我已经尝试了多种组合,没有工作直到现在。

回答

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

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

+4

你应该提到的是,如果'stacker'应该编译成可执行文件,而不是作为一个导入包,它是应该是'包main'。 – ANisus 2013-03-08 14:42:20

+0

@ANisus和Erik,谢谢你的回答。现在完美的工作,我开始得到整体的想法。 – Fabien 2013-03-08 14:46:48

+0

@ANisus更新了我的答案。谢谢 – 2013-03-08 23:48:25