Go - 无法编译hello world(Windows)

non*_*com 2 compilation go

只是尝试Go,但我无法编译我的第一个程序.这引起了编译器的一堆问题.

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

"D:\programming\Go\src\mytest\mytest.go"
Run Code Online (Sandbox Code Playgroud)

程序文本是:

// mytest project mytest.go
package mytest

import "fmt"

func main() {
    fmt.Println("Hello, Go!")
}
Run Code Online (Sandbox Code Playgroud)

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

>go build
Run Code Online (Sandbox Code Playgroud)

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

>go build -v
_/D_/programming/Go/src/mytest
Run Code Online (Sandbox Code Playgroud)

有什么_/D_/事情是??? 看起来像是一项新发明!

而最奇怪的一个:

>go build -v mytest
can't load package: package mytest: import "mytest": cannot find package
Run Code Online (Sandbox Code Playgroud)

那么我做错了什么以及如何编译这个东西呢?

Mos*_*vah 8

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

  • 程序大小合理且预期:Go FAQ.为什么我的琐碎程序如此大的二进制文件?http://golang.org/doc/go_faq.html#Why_is_my_trivial_program_such_a_large_binary. (5认同)
  • @noncom不,它没有被解释.它有一个静态链接的运行时.如果你静态链接一个C应用程序,你会看到类似的大小 - 它带来了CRT,C++应用程序将引入CRT和标准C++库.除非您在软盘上分发程序,否则这不是问题.真的,事实并非如此. (5认同)