undefined(type [] DataReponse没有字段或方法)

时间:2016-06-09 07:16:21

标签: go

我正在尝试编译以下代码

    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"`
}

我如何使用结果值?

2 个答案:

答案 0 :(得分:3)

[]DataReponseDataReponse的一部分,即可能有多个响应(或没有)。您可以使用for loop为返回的每个struct DataReponse运行一些代码。我会考虑做the tour。 (另外,也许你的意思是DataResponse,有两个" s" es,但当然只要你一直使用相同的名字,这对Go来说并不重要。)

答案 1 :(得分:2)

正如twotwotwo所解释的那样,你正在使用切片。像这样循环。

    for _, data := range result {
       if data.Commenter == "teacher" {
         ...   
        }
    }