如何处理范围的并发映射

我想要范围地图,因此结果可以是OFFSET,ROWS FETCH FIRST,ROW ON。

但是由于并发,我的代码可以偏移,仅行,行优先。

如何保持OFFSET,ROWS FETCH FIRST,ROW ON等顺序?或阻止并发。

已经尝试使用WaitGroup,wg。添加wg。完成wg.Wait仍然无法正常工作

mapPagination := map[string]interface{}{`OFFSET`: offset,`ROWS FETCH FIRST`: limit,`ROW ONLY:keyOnly`: ``}

for kPagination,vPagination := range pagination {
    if strings.Contains(kPagination,"keyOnly") {
        kPagination = strings.Replace(kPagination,":keyOnly","",1)
        slicesPagination = append(slicesPagination,fmt.Sprintf("%s",kPagination))
    } else {
        slicesPagination = append(slicesPagination,fmt.Sprintf("%s $%s",kPagination,ParseString(index)))
        values = append(values,vPagination)
    }

    index++
}
guozili1983 回答:如何处理范围的并发映射

您没有并发问题。不能保证映射中键的顺序。如果需要有序对,请使用结构片:

type pair struct {
   Key string
   Value string
}

mapPagination := []pair{{Key:`OFFSET`,Value:offset},{Key:`ROWS FETCH FIRST`,Value: limit},{Key:`ROW ONLY:keyOnly`}}
本文链接:https://www.f2er.com/3165823.html

大家都在问