Sobes.tech
Middle+

Can structures be used as keys in a map?

sobes.tech AI

Answer from AI

In Go, structures can be used as keys in a map if they satisfy the comparability requirements. This means that all fields of the structure must be of comparable types (e.g., basic types, strings, pointers, other comparable structures).

If a structure contains slices, maps, functions, or other non-comparable types, it cannot be used as a key.

Example of using a structure as a key:

type Point struct {
    X, Y int
}

m := make(map[Point]string)
m[Point{X: 1, Y: 2}] = "A"

Here, Point consists of two ints, which are comparable, so the structure is also comparable and can be used as a key.

Can structures be used as keys in a map? — Golang - sobes.tech