下面是简单的GO应用程序.如果我运行以下代码,我会收到"Go Run:Cannot Run Non-Main Package"错误.

package zsdfsdf

import (
    "fmt"
)

func Main() {
    fmt.Println("sddddddd")
}

要解决这个问题,我只需要将包命名为main.但我不明白我为什么要这么做.我应该可以给包裹起任何我想要的名字.

另外一个问题,我知道main函数是程序的入口点,你需要它.否则它不会起作用的.但是我看到一些没有主函数的代码仍然可以工作.

单击此链接,页面底部的示例没有使用包Main和Main函数,它仍然有效.只是好奇为什么.

https://developers.google.com/appengine/docs/go/gettingstarted/usingdatastore

推荐答案

您需要在app.yaml文件中指定您的应用程序访问点是什么.看一下here个.您需要指定:

application: zsdfsdf

从上面的链接还可以看到:

"注意:在编写独立的Go程序时,我们会将以下代码

你说得对,所有的围棋程序都需要Main法.但它是由Google App Engine提供的.这就是您提供的示例有效的原因.您的示例在本地不起作用(在GAE上不起作用).

Go相关问答推荐

出口上下文值密钥的安全方法?

消费者在NAT中是如何实现的

golang 的条件储存库

调用API时使用nginx作为反向代理时从nginx获取502坏网关

在Golang中,@LATEST和@UPGRADE特殊查询有什么不同?

即使HTTP服务器正在使用GO和Protobuf、SQL Server启动,请求也不返回结果

如何给杜松子wine 的路由加上一个名字,比如Laravel ?

在整个SQL事务中将使用上下文作为默认设置吗?

在 GoLang 中对自定义 struct 体数组进行排序

AWS Lambda 中的 Websocket URL 超时达到错误

为什么不同的 Wireguard 私钥会产生相同的公钥?

使用 golang 生成 vim

如何将一片十六进制字节转换为整数

每次有人进入我的网站时如何运行特定功能?

在 connect-go 拦截器中修改响应体

将 CSVExport 函数传递给处理程序 Gin

golang 如何从字符串中查找表情符号?

有没有办法在一个 goroutine 返回后延迟后取消上下文?

为什么 Go 中的 maps.Keys() 将 map 类型指定为 M?

手动将 OpenTelemetry 上下文从 golang 提取到字符串中?