登录
首页 >  Golang >  Go问答

去除重复值在 Gota 系列

来源:stackoverflow

时间:2024-03-10 08:21:26 429浏览 收藏

大家好,我们又见面了啊~本文《去除重复值在 Gota 系列》的内容中将会涉及到等等。如果你正在学习Golang相关知识,欢迎关注我,以后会给大家带来更多Golang相关文章,希望我们能一起进步!下面就开始本文的正式内容~

问题内容

我有一个简单的 gota 系列,我想从中删除重复项。 在 go 中怎么可能?

func main() {

    new_series := series.New([]string{"b", "a", "c", "a", "d", "b"}, series.String, "COL.1")
    fmt.Println(new_series)
}

[b a c a d b]

预期:[b a c d]


解决方案


要表示 go 中的一组唯一元素,请使用 map

因此,要从给定列表创建一组唯一的字符串,请使用以下内容:

func setfromlist(list []string) (set []string) {
    ks := make(map[string]bool) // map to keep track of repeats

    for _, e := range list {
        if _, v := ks[e]; !v {
            ks[e] = true
            set = append(set, e)
        }
    }
    return
}

并将其应用到现有的 gota.series

func uniquegotaseries(s series.series) series.series {
    return series.new(setfromlist(s.records()), s.type(), s.name)
}

工作演示示例:https://play.golang.org/p/zqQM-0XxLF5

输出:

Orig: [b a c a d b]
Unique: [b a c d]

好了,本文到此结束,带大家了解了《去除重复值在 Gota 系列》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>