Usando fatias e matrizes como chaves de mapa
No Go, as chaves de mapa devem implementar os operadores == e != para comparar sua igualdade. As fatias não implementam esses operadores, portanto, as fatias não podem ser usadas diretamente como chaves de mapa. No entanto, matrizes podem ser usadas como chaves de mapa porque implementam os operadores necessários.
Usando matrizes como chaves de mapa
Para usar uma matriz como chave de mapa, você pode declare o mapa usando o tipo array como tipo de chave. Por exemplo:
package main import "fmt" func main() { m := make(map[[2]int]bool) m[[2]int{1, 2}] = false fmt.Printf("%v", m) }
Este mapa tem um tipo de chave [2]int, que é uma matriz de dois inteiros. O tipo de valor do mapa é bool.
Usando fatias convertendo em strings
Se precisar usar uma fatia como chave do mapa, você pode converter a fatia para uma string e use a string como chave. Por exemplo:
package main import ( "fmt" "strconv" ) func main() { m := make(map[string]bool) m[strconv.Itoa([]string{"a", "b"})] = false fmt.Printf("%v", m) }
Este mapa possui um tipo de chave de string, que é uma representação de string da fatia de strings. O tipo de valor do mapa é bool.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3