我正在玩Google Go,并且很开心(!),但是我在软件包子系统方面遇到了一些问题。我在Mac OS X Lion上运行Go 1.0.1。我还构建了各种没有问题的单个文件程序(我也使用html / templates毫无问题地构建了一个小型的webapp,它可以编译并运行而没有任何错误)。我定义了一个“可重用”包(even.go):package evenfunc Even(i int) bool { return i % 2 == 0}func Odd(i int) bool { return i % 2 == 1}和消费者程序(useeven.go):package mainimport ( "./even" "fmt")func main() { a := 5 b := 6 fmt.Printf("%d is even %v?\n", a, even.Even(a)) fmt.Printf("%d is odd %v?\n", b, even.Odd(b))}但是当我使用go build even.go我什么也没有...没有错误,没有消息...发生什么了?我应该怎么做?
3 回答
慕桂英546537
TA贡献1848条经验 获得超10个赞
您的问题“我应该怎么做?”的答案。如何编写Go代码中有解释。 这确实是非常重要的东西,值得一看。
的行为go build
似乎令人费解,但实际上是命令行程序的常规行为-没有输出表示该程序成功运行。那是做什么的呢?为此,你的答案在go help build
...否则,build将编译软件包,但会放弃结果,仅作为可构建软件包的检查。
什么,您想要更多?当然。“如何编写Go代码”说明了执行此操作的好方法。为了快速修复您的程序,我将说明go命令期望每个程序包和每个可执行程序位于单独的目录中。如果仅在useeven.go的位置下创建一个名为even的目录,然后将even.go移至该目录,go run useeven.go
则应按其运行方式运行。
牛魔王的故事
TA贡献1830条经验 获得超3个赞
go build
仅在构建“单个主程序包”时生成输出文件。如果要为其他软件包输出文件,则应使用go install
。这将生成该软件包并将其安装到您的pkgs
目录中。
- 3 回答
- 0 关注
- 332 浏览
添加回答
举报
0/150
提交
取消