为了账号安全,请及时绑定邮箱和手机立即绑定

Golang 无法在视图中显示检索到的数据

Golang 无法在视图中显示检索到的数据

Go
富国沪深 2021-07-03 14:00:02
希望这是我与指针有关的最后一个问题:我正在调用存储库方法来获取一部分健身房课程。我在这样的视图中显示它们:    {{ range .}}            {{.VideoPath}} << Correct            <br>            {{.Instructor.Email}} << Blank            <br>            {{.ClassType.ClassTypeCode}} << Blank                   {{end}}   教师和类类型字段作为空结构出现,但在 ClassRepository 中我做了一些 Printlns 并打印了正确的数据。某处存在指针问题或其他问题。我做错了什么?这是存储库:package repositories    type ClassRepository struct {    Gorp gorp.SqlExecutor}func (c ClassRepository) ClassesForLastNDays(days int) []entities.Class {    var classes []entities.Class    // Gets the classes - omitted for brevity    c.populateClassRelationships(classes)    return classes}func (c ClassRepository) populateClassRelationships(classes []entities.Class) {    for i := range classes {        class := classes[i]        // ClassType        obj, err := c.Gorp.Get(entities.ClassType{}, class.ClassTypeCode)        if err != nil {            panic(err)        }        class.ClassType = *obj.(*entities.ClassType)        fmt.Println(class.ClassType) << Returns correct data        // Instructor and Equipment        Same for instructor and Equipment    }}更新:经过大量的 printlns,我可以确认问题出在 populateClassRelationships 之后,填充的值都丢失了。func (c ClassRepository) ClassesForLastNDays(days int) []entities.Class {        var classes []entities.Class        // Gets the classes - omitted for brevity        c.populateClassRelationships(classes) <<<< In the method,Println has values        return classes <<<< Values have been lost    }
查看完整描述

1 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

我相信问题在于您的函数populateClassRelationships没有修改原始数据结构,如以下最终输出的代码所示:


[1]

[]

不工作


func myFunc(data []int) {

    data = append(data, 1)

    fmt.Println(data)

}


func main() {

    d := []int { }

    myFunc(d)

    fmt.Println(d)

}

引入参数作为指针可以修改原始数据


func myFuncNew(data *[]int) {

        *data = append(*data, 1)

    fmt.Println(*data)

}


查看完整回答
反对 回复 2021-07-19
  • 1 回答
  • 0 关注
  • 192 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信