您的位置 首页 golang

「golang」 assignment to nil map

今天学习golang,使用 map 时,报错了: assignment to nil map。

assignment to nil map

报错的代码如下所示:

 func (service *StoreService) GetManyByPage(pageCondition PageConditionDTO) (map[string]interface{}, error) {
var returnMap map[string]interface{}
var rowList []map[string]interface{}
whereCondition := map[string]interface{}{"is_del": 0, "is_active": 1}
selectedFields := []string{"id", " ctime ", "mtime", "priority", "is_active", "name", "address"}
rowStartIndex := pageCondition.PageIndex * pageCondition.RowCountPerPage

// Get rows
err := service.DB.Model(&StoreEntity{}).Select(selectedFields).Where(whereCondition).Limit(pageCondition.RowCountPerPage).Offset(rowStartIndex).Order("mtime DESC, id DESC").Find(&rowList).Error
if err != nil {
return returnMap, err
}

// Get row count
rowCount, err := service.getRowCount(whereCondition)
if err !=  nil  {
return returnMap, err
}

returnMap["pageIndex"] = pageCondition.PageIndex
returnMap["pageCount"] = utils.CalPageCount(rowCount, int64(pageCondition.RowCountPerPage))
returnMap["rowCount"] = rowCount
returnMap["rowCountPerPage"] = pageCondition.RowCountPerPage
returnMap["rows"] = rowList
returnMap["rowStartIndex"] = rowStartIndex
return returnMap, nil
}  

导致错误的就是这一句:

 var returnMap map[string]interface{}  

改为如下代码即可

 returnMap := map[string]interface{}{}  

或者

 var returnMap = make(map[string]interface{})  

文章来源:智云一二三科技

文章标题:「golang」 assignment to nil map

文章地址:https://www.zhihuclub.com/98458.shtml

关于作者: 智云科技

热门文章

网站地图