Sobes.tech
Junior — Middle

Vai masīvus var izmantot kā atslēgas Map kolekcijā?

sobes.tech AI

Atbilde no AI

Go valodā atslēgas kolekcijā map var būt tikai tie tipi, kas atbalsta salīdzināšanas operāciju ==. Masīvi Go valodā ir salīdzināmi elementu pa elementam, tāpēc fiksēta garuma masīvi var tikt izmantoti kā atslēgas.

Piemērs:

package main
import "fmt"

func main() {
    m := make(map[[3]int]string)
    key := [3]int{1, 2, 3}
    m[key] = "piemērs"
    fmt.Println(m[key]) // Izvadīs: piemērs
}

Tomēr, slices ([]int) nevar izmantot kā atslēgas, jo tie nav salīdzināmi. Ja jums ir nepieciešama kolekcija ar slices balstītām atslēgām, tās jākonvertē uz virkni vai citu salīdzināmu tipu.