我有一个定义如下的支柱
type ReqJSON struct {
Request struct {
Data struct {
Object struct {
User []User `json:"user"`
} `json:"object"`
} `json:"data"`
} `json:"request"`
}
type User struct {
UserID string `json:"userid"`
IPAddr string `json:"ipaddr"`
Noofusers string `json:"noofusers"`
Qos string `json:"qos"`
ID string `json:"id"`
Domain string `json:"domain"`
}
这个结构的setter函数如下
func (j *ReqJSON) User() User { return j.Request.Data.Object.User }
func (j *ReqJSON) SetUser(u User) { j.Request.Data.Object.User = u }
主要程序如下
func main() {
var j ReqJSON
j.SetUser(User{
UserID: "_id",
IPAddr: "1.1.1.1",
Noofusers: "100",
Qos: "34",
ID: "kldjflkdfjlkdjfkld",
Domain: "xyz.com",
})
b, err := json.MarshalIndent(j, "", " ")
fmt.Println(err, string(b))
}
当我尝试制作Useras slice 时,上述函数出现错误。
prog.go:27:65: 不能使用 j.Request.Data.Object.User(类型 []User)作为返回参数中的 User 类型 prog.go:28:64:不能使用 u(类型 User)作为类型 []任务中的用户
我是 Golang 的新手,所以不知道如何让 Setter 和 Ctor 返回切片对象。
犯罪嫌疑人X
幕布斯6054654
相关分类