gss*_*der 17 compilation package go
我正在玩Google Go,我很开心(!),但是我遇到了包子系统的一些问题.
我在Mac OS X Lion上运行Go 1.0.1.我还构建了各种单个文件程序而没有问题(我还使用html/templates构建一个小的webapp而没有任何问题,它编译并运行没有任何错误).
我已经定义了一个"可重用"的包(even.go):
package even
func Even(i int) bool {
return i % 2 == 0
}
func Odd(i int) bool {
return i % 2 == 1
}
Run Code Online (Sandbox Code Playgroud)
和消费者计划(useeven.go):
package main
import (
"./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))
}
Run Code Online (Sandbox Code Playgroud)
但是当我使用编译"库"时
go build even.go
Run Code Online (Sandbox Code Playgroud)
我什么都没有......没有错误,没有消息......会发生什么?
我该怎么做?
Son*_*nia 11
你的问题的答案,"我该怎么做?" 在如何编写Go代码中进行了解释. 这是非常重要的东西,值得一看.
的行为go build似乎令人费解,但实际上是传统的命令行程序-无输出意味着程序成功运行.那它做了什么?为此你的回答是go help build
...否则,build会编译软件包但会丢弃结果,仅用于检查是否可以构建软件包.
什么,你想要更多?当然."如何编写Go代码"解释了这样做的好方法.为了快速修复程序,我将解释go命令期望每个包和每个可执行程序都在一个单独的目录中.如果你只是在useeven.go的位置下创建一个名为even的目录,并将even.go移动到它,那么就go run useeven.go应该像你拥有它一样运行.
| 归档时间: |
|
| 查看次数: |
21112 次 |
| 最近记录: |