这里是简单的 go 应用程序。如果我运行以下代码,我会收到“go run: cannot run non-main package”错误。
package zsdfsdf import ( "fmt" ) func Main() { fmt.Println("sddddddd") }
要修复它,我只需要将包命名为main. 但我不明白为什么我需要这样做。我应该可以随心所欲地命名包。
main
另一个问题,我知道 main 函数是程序的入口点,你需要它。否则它将无法工作。但是我看到一些没有 main 函数的代码仍然有效。
您需要使用主包,以 go 开头的常见错误是键入
package Main
代替
package main
您需要在 app.yaml 文件中指定您的应用访问点是什么。您需要指定:
application: zsdfsdf
还可以从上面的链接中看到:
“注意:在编写独立的 Go 程序时,我们会将这些代码放在 main 包中。Go App Engine Runtime 提供了一个特殊的 main 包,因此您应该将 HTTP 处理程序代码放在您选择的包中(在这种情况下,hello )”
您是对的,所有 Go 程序都需要该Main方法。但它是由 Google App Engine 提供的。这就是您提供的示例有效的原因。您的示例在本地不起作用(不在 GAE 上)。
Main