我正在尝试编译以下代码
var result []DataReponse
if result.Commenter == "teacher"{
sender = models.CommentUser{
Name:result.UserName,
Email:result.UserEmail,
}
}else{
sender = models.CommentUser{
Name:result.ChildName,
Email:result.ChildEmail,
}
我收到错误result.Commenter undefined (type []DataReponse has no field or method Commenter)
这是我的结构
//DataReponse is the structure of the response
type DataReponse struct{
CommentText string `json:"comment_text"`
Commenter string `json:"commenter"`
ChildEmail core.NullString `json:"child_email"`
ChildName core.NullString `json:"child_name"`
UserName core.NullString `json:"user_name"`
UserEmail core.NullString `json:"user_email"`
}
我如何使用结果值?
答案 0 :(得分:3)
[]DataReponse
是DataReponse
的一部分,即可能有多个响应(或没有)。您可以使用for loop为返回的每个struct DataReponse
运行一些代码。我会考虑做the tour。 (另外,也许你的意思是DataResponse,有两个" s" es,但当然只要你一直使用相同的名字,这对Go来说并不重要。)
答案 1 :(得分:2)
正如twotwotwo所解释的那样,你正在使用切片。像这样循环。
for _, data := range result {
if data.Commenter == "teacher" {
...
}
}