12:golang struct 切片数组去重

type Fts_message_table_content_nomal struct {
    Docid          int64  `xorm:"docid"`
    C0CreateTime   int64  `xorm:"c0CreateTime"`
    C1MesLocalID   int64  `xorm:"c1MesLocalID"`
    C2Message      string `xorm:"c2Message"`
    C3reservedInt  string `xorm:"c3reservedInt"`
    C4reservedText string `xorm:"c4reservedText"`
    C5usernameid   int64  `xorm:"c5usernameid"`
    C6CONSTRAINT   string `xorm:"c6CONSTRAINT"`
}
type Message_contents_normal []Fts_message_table_content_nomal
func removeDuplicate(personList Message_contents_normal) Message_contents_normal {
    resultMap := map[string]bool{}
    for _, v := range personList {
        data, _ := json.Marshal(v)
        resultMap[string(data)] = true
    }
    result := Message_contents_normal{}
    for k := range resultMap {
        var t Fts_message_table_content_nomal
        json.Unmarshal([]byte(k), &t)
        result = append(result, t)
    }
    return result
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容