go语言遍历数组
使用range
func (this *ShopController) Get() {
this.TplName = "shop.html"
var classfies []*models.Classify
var err error
classfies, err = models.GetClassifyAll(1)
if err != nil {
beego.Error(err)
}
for classItem := range classfies {
classfies[classItem].Children, err = models.GetClassifyAll(classfies[classItem].Id)
fmt.Println("显示分类:")
fmt.Println(classItem)
}
this.Data["classfies"] = classfies
}
range遍历slice切片时返回值为int型数值,而不是切片类型的变量
问题二:
分类的结构设计选用方案:
type Classify struct {
Id int
Name string
Father *Classify `orm:"rel(fk)"`
Children []*Classify `orm:"reverse(many)"`
}
自身和自身形成一对多关系映射,形成分类的多级分类