【问题标题】:Go - cannot compile hello world (Windows)Go - 无法编译 hello world (Windows)
【发布时间】:2012-08-14 17:28:42
【问题描述】:

刚刚尝试 Go,但我无法让它编译我的第一个程序。这给编译器带来了一堆问题。

它包含在这个单个文件中:

"D:\programming\Go\src\mytest\mytest.go"

程序文本是:

// mytest project mytest.go
package mytest

import "fmt"

func main() {
    fmt.Println("Hello, Go!")
}

在包文件夹中我尝试了以下命令:

>go build

什么也没说。根据go help build,这是预期的结果。

>go build -v
_/D_/programming/Go/src/mytest

_/D_/ 是什么东西???看起来像一个新发明!

还有最奇怪的:

>go build -v mytest
can't load package: package mytest: import "mytest": cannot find package

那么我做错了什么以及如何编译?

【问题讨论】:

    标签: compilation go


    【解决方案1】:

    程序中的main 函数必须在包main 中。包main 然后可以导入其他包并调用它们。

    【讨论】:

    • 哇!没想到这几天……这个程序的exe,出来了1.2Mb。我认为 Go 还处于开发阶段,所以我希望我们以后会看到更好的结果。
    • 程序大小合理且符合预期:Go FAQ。为什么我的小程序是这么大的二进制文件? golang.org/doc/….
    • @peterSO 好吧!实际上,它是一种非常普遍的方法。我想这是为了我们的利益:)
    • @peterSO,嗯,等等,你说的是运行时间? Go语言是解释的吗?我似乎找不到这方面的论文..
    • @noncom 不,它没有被解释。它有一个静态链接的运行时。如果静态链接 C 应用程序,您会看到类似的大小 - 它引入 CRT,C++ 应用程序将引入 CRT 和标准 C++ 库。除非您在软盘上分发程序,否则这不是问题。真的,不是。
    猜你喜欢
    • 1970-01-01
    • 2013-04-25
    • 1970-01-01
    • 2014-11-29
    • 2020-08-02
    • 1970-01-01
    • 2021-02-21
    • 1970-01-01
    相关资源
    最近更新 更多