go切片去重

package main

import "fmt"

func main() {

    data := []string{"red", "black", "orange", "white", "red", "blue", "blue"}

    fmt.Println("old data = ", data)

    afterData := sliceUnique(data)

    fmt.Println("new data = ", afterData)

}

func sliceUnique(data []string) []string {
    out := data[:1]
    for _, word := range data {
        i := 0
        for ; i < len(out); i++ {
            if word == out[i] {
                break
            }
        }
        if i == len(out) {
            out = append(out, word)
        }
    }
    return out
}

打印:

old data = [red black orange white red blue blue]
new data = [red black orange white blue]

posted @ 2021-01-16 19:21  大雾哥  阅读(116)  评论(0编辑  收藏  举报