5

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

我想找到与某些值匹配的所有结构,例如,腿和站点。

因此,如果 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
}
4

2 回答 2

10

死简单:

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
于 2013-10-11T16:25:24.503 回答
2

如果您的数据是按一个键排序的,那么您可以使用http://golang.org/pkg/sort/#Search进行二分查找,如果数据量在中到大,则性能更好。

于 2013-10-13T01:20:29.487 回答