1.Go切片去掉重復元素
如果傳入的是string型別:
//slice去重func removeRepByMap(slc []string) []string { result := []string{} //存放回傳的不重復切片 tempMap := map[string]byte{} // 存放不重復主鍵 for _, e := range slc { l := len(tempMap) tempMap[e] = 0 //當e存在于tempMap中時,再次添加是添加不進去的,,因為key不允許重復 //如果上一行添加成功,那么長度發生變化且此時元素一定不重復 if len(tempMap) != l { // 加入map后,map長度變化,則元素不重復 result = append(result, e) //當元素不重復時,將元素添加到切片result中 } } return result}如果傳入的是int型別:
//slice去重func removeRepByMap(slc []int) []int { result := []int{} //存放回傳的不重復切片 tempMap := map[int]byte{} // 存放不重復主鍵 for _, e := range slc { l := len(tempMap) tempMap[e] = 0 //當e存在于tempMap中時,再次添加是添加不進去的,,因為key不允許重復 //如果上一行添加成功,那么長度發生變化且此時元素一定不重復 if len(tempMap) != l { // 加入map后,map長度變化,則元素不重復 result = append(result, e) //當元素不重復時,將元素添加到切片result中 } } return result}當然如果傳入的是其它型別,把對應型別改掉即可
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/69320.html
標籤:Go
上一篇:[終極巨坑]golang+vue開發日記【三】,登陸界面制作(二)
下一篇:gitlab無法查看檔案詳情
