go - 在 Go 数组中查找所有匹配项

标签 go

我有一个结构数组(结构详见底部)

我想找到所有匹配特定值的结构,例如,leg 和 site。

因此,如果 leg=101 和 site=1024A 返回所有符合这些条件的结构。

这样做的 Go 方式是什么?

type JanusDepth struct {
    dataset string
    ob      string
    leg     string  
    site    string  
    hole    string
    age     float64
    depth   float64
    long    float64
    lat     float64
}

最佳答案

非常简单:

leg      := "101"
site     := "1024A"
filtered := []JanusDepth{}

for _, e := range MyArrayOfStructs {
    if(e.leg == leg && e.site == site) {
        filtered = append(filtered, e)
    }
}

// filtered contains your elements

关于go - 在 Go 数组中查找所有匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19322764/

相关文章:

go - 如何解决 "too many arguments to return"问题

performance - 协程性能

go - 在 Go 中,如何将接口(interface) slice 传递给需要不同兼容接口(interface) slice 的对象?

concurrency - Func 不会运行;增量 channel

types - Go 等效于类型继承(通过接口(interface)进行 gob 编码/解码)

golang 类型转换规则

go - 为什么这个 Google I/O 2012 并发示例没有按预期工作?

go - 如何编写漂亮干净的 Go 包?

go - 如何模拟客户端和服务器之间的完全网络丢失?

go - 在 Go 中检查 nil 和 nil 接口(interface)