"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Se pueden utilizar los sectores como claves de mapa en Go?

¿Se pueden utilizar los sectores como claves de mapa en Go?

Publicado el 2024-11-11
Navegar:557

Can Slices Be Used as Map Keys in Go?

Uso de sectores y matrices como claves de mapa

En Go, las claves de mapa deben implementar los operadores == y != para comparar su igualdad. Los sectores no implementan estos operadores, por lo que no se pueden utilizar directamente como claves de mapa. Sin embargo, las matrices se pueden usar como claves de mapa porque implementan los operadores necesarios.

Uso de matrices como claves de mapa

Para usar una matriz como clave de mapa, puede declare el mapa usando el tipo de matriz como tipo de clave. Por ejemplo:

package main

import "fmt"

func main() {
    m := make(map[[2]int]bool)
    m[[2]int{1, 2}] = false
    fmt.Printf("%v", m)
}

Este mapa tiene un tipo de clave de [2]int, que es una matriz de dos números enteros. El tipo de valor del mapa es bool.

Uso de sectores mediante la conversión a cadenas

Si necesita utilizar un sector como clave de mapa, puede convertir el sector a una cadena y use la cadena como clave. Por ejemplo:

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 tiene un tipo de clave de cadena, que es una representación de cadena del segmento de cadenas. El tipo de valor del mapa es bool.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3