//第二种写法:更简洁点 func RemoveRepeated(s []int) []int { start := time.Now() result := []int{} m := make(map[int]bool) //map的值不重要 for _, v := range s { if _, ok := m[v]; !ok { result = append(result, v) m[v] = true } } fmt.Println("花费时间:", fmt.Sprintf("%vms", (time.Now().UnixNano()-start.UnixNano())/1e+6)) return result } //第二种写法: var strMap make(map[string]string) strSlice := []string {"slice","int","string","int","boolean","string"} for _,v:= range strSlice{ strMap[v] = v } //strMap为:{"slice":"slice","int":"int","string":"string","boolean":boolean"} //如果想将map转换为slice,可利用数组的append函数 var secondStr []string for _,value := range strMap{ secondStr = append(secondStr ,value) } //secondStr为:{"slice","int","string","boolean"}