package api import ( "fmt" "strconv" "strings" ) type IDS []int // 合并为以逗号分隔的字符串 func (ids IDS) ToString() (str string) { return strings.Trim(strings.Join(strings.Fields(fmt.Sprint(ids)), ","), "[]") } type ImageList []Image // 按照ID排序 func (image *ImageList) SortByIDList(id_list []string) { var sortedImageList ImageList for _, id := range id_list { id_number, _ := strconv.Atoi(id) for _, image := range *image { if image.ID == id_number { sortedImageList = append(sortedImageList, image) } } } *image = sortedImageList } // 取到所有的文章ID, 去除重复 func (images *ImageList) ToAllArticleID() (uniqueIds IDS) { article_ids := make(map[int]bool) for _, image := range *images { article_ids[image.ArticleID] = true } for id := range article_ids { uniqueIds = append(uniqueIds, id) } return uniqueIds } // 取到所有的用户ID, 去除重复 func (images *ImageList) ToAllUserID() (uniqueIds IDS) { user_ids := make(map[int]bool) for _, image := range *images { user_ids[image.UserID] = true } for id := range user_ids { uniqueIds = append(uniqueIds, id) } return uniqueIds }