为了账号安全,请及时绑定邮箱和手机立即绑定

在Go中构建并引用我自己的本地包

在Go中构建并引用我自己的本地包

Go
心有法竹 2021-04-30 17:18:14
我正在玩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则应按其运行方式运行。


查看完整回答
反对 回复 2021-05-10
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

go build仅在构建“单个主程序包”时生成输出文件。如果要为其他软件包输出文件,则应使用go install。这将生成该软件包并将其安装到您的pkgs目录中。


查看完整回答
反对 回复 2021-05-10
  • 3 回答
  • 0 关注
  • 332 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信