如何初始化以下 struct ?

type Sender struct {
    BankCode string
    Name     string
    Contact  struct {
        Name    string
        Phone   string
    }
}

I tried:个个

s := &Sender{
        BankCode: "BC",
        Name:     "NAME",
        Contact {
            Name: "NAME",
            Phone: "PHONE",
        },
    }

Didn't work:

mixture of field:value and value initializers
undefined: Contact

I tried:个个

s := &Sender{
        BankCode: "BC",
        Name:     "NAME",
        Contact: Contact {
            Name: "NAME",
            Phone: "PHONE",
        },
    }

Didn't work:

undefined: Contact

推荐答案

您的Contact是一个匿名 struct 类型的字段.因此,必须重复类型定义:

s := &Sender{
    BankCode: "BC",
    Name:     "NAME",
    Contact: struct {
        Name  string
        Phone string
    }{
        Name:  "NAME",
        Phone: "PHONE",
    },
}

但在大多数情况下,最好像Rob74建议的那样定义一个单独的类型.

Go相关问答推荐

Makefile:现有文件上没有这样的文件或目录,不加载环境变量

Golang测试容器,无法使网络正常工作

Golang文本/模板序列范围

Websocket服务器实现与x/net库trowing 403

Docker Compose Health Check未退出,错误为无法启动

提供的client_secret与此帐户上任何关联的SetupIntent都不匹配

Go 是否提供了标准或事实上的方法来处理单个语句中的错误(即内联错误处理)?

Go Gin:验证 base64

如何将验证器标记添加到嵌套字段

Opensearch 错误 ping 弹性服务器:由未知权威签署的 x509 证书

当填充通道的函数调用未嵌入 goroutine 时,为什么我会遇到死锁?

我突然无法再将我的 GoLang 应用程序部署到 Google AppEngine

MQTT 客户端没有收到另一个客户端发送的消息

使用 unsafe.Pointer 将 struct point直接转换为另一个 struct 是否安全?

整理时转换值

如何编写一个以字符串或错误为参数的通用函数?

如何使用特定的 Go 版本运行 govulncheck?

Golang Getrlimit 返回与 ulimit 不同的值

函数调用中的类型参数panic

如何将类型转换为字节数组golang