go切片去重

时间:2021-01-16 22:09:39   收藏:0   阅读:202
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]

原文:https://www.cnblogs.com/dawuge/p/14286989.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!