我无法弄清楚如何初始化嵌套结构.在这里找一个例子:http: //play.golang.org/p/NL6VXdHrjh
package main
type Configuration struct {
Val string
Proxy struct {
Address string
Port string
}
}
func main() {
c := &Configuration{
Val: "test",
Proxy: {
Address: "addr",
Port: "80",
},
}
}
Run Code Online (Sandbox Code Playgroud) 你如何初始化以下结构?
type Sender struct {
BankCode string
Name string
Contact struct {
Name string
Phone string
}
}
Run Code Online (Sandbox Code Playgroud)
我试过了:
s := &Sender{
BankCode: "BC",
Name: "NAME",
Contact {
Name: "NAME",
Phone: "PHONE",
},
}
Run Code Online (Sandbox Code Playgroud)
没工作:
mixture of field:value and value initializers
undefined: Contact
Run Code Online (Sandbox Code Playgroud)
我试过了:
s := &Sender{
BankCode: "BC",
Name: "NAME",
Contact: Contact {
Name: "NAME",
Phone: "PHONE",
},
}
Run Code Online (Sandbox Code Playgroud)
没工作:
undefined: Contact
Run Code Online (Sandbox Code Playgroud) 我正在尝试实现一种基于原始结构返回修改后的结构的方法,例如:
type Project struct {
Username string
Id uint
Alias string
Data *json.RawMessage
Scheme Scheme
}
func (p *Project) OmitUsername() *struct {
return &struct {
Id uint
Alias string
Data *json.RawMessage
Scheme Scheme
}{
p.Id,
p.Alias,
p.Data,
p.Scheme
})
}
Run Code Online (Sandbox Code Playgroud)
我得到以下错误:
models/project.go:22: syntax error: unexpected return
models/project.go:24: non-declaration statement outside function body
models/project.go:25: non-declaration statement outside function body
models/project.go:25: syntax error: unexpected string literal, expecting semicolon or newline
models/project.go:26: non-declaration statement outside function body
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激。
嗨,我对 Golang 很陌生,请帮助我。我在结构中定义了一个结构。但是当我尝试初始化主结构时出现错误。
type DetailsFilter struct {
Filter struct {
Name string
ID int
}
}
var M map[string]interface{}
M = make(map[string]interface{})
M["Filter"] = map[string]interface{}{"Name": "XYZ", "ID": 5}
var detailsFilter = DetailsFilter{Filter: M["Filter"]}}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:不能使用(类型接口{})作为字段值中的类型结构:需要类型断言。
请提出一种初始化 DetailsFilter 的方法。我尝试执行在 Golang中初始化嵌套结构中描述的方法,但即使这样也不起作用。