如何在地图上使用类似ORM的查询?

I have created a slice of structs that has 3 properties

type Person struct {
  age int
  gender string
  name string
}

How can I pull the item from the slice which matches my criteria?

For example I would like to do

var persons []Person = mySliceOfPersons
person := getFrom(persons).Where(age ==10).Where(gender == "male")

The purpose here is to keep the data in memory, and not be restricted by IO. (I'm expecting thousands of calls per second). I am new to Go and I am not sure where to find a package that does this. The data comes from Json and not a Database so I don't think I can use the sql package.

This solution IS a database, but you can embed it into your application for use rather than relying on an outside db: https://github.com/HouzuoGuo/tiedot

Another possibility is an approach like this one, which uses the sql package against local flat files, which could potentially be adapted to run against map?: https://github.com/dinedal/textql