Golang - converting maps to strong type

Just wondering if anyone has some experience converting from a map[string]interface{} to a declared type?

i.e. in Go if I have:

type Person struct {
    name string
    age int64
}

if I run this query:

MATCH (p:Person) RETURN p { .name, .age } AS person

is there a better way to get a go person then something along the lines of:

Person{record["name"].(string), record["age"].(int64)}