Obtenga una porción de llaves de un mapa en Go

Jay Singh 30 enero 2023
  1. Use range y append() para obtener una porción de claves de un mapa en Go
  2. Use la función MapKeys para obtener una porción de teclas de un mapa en Go
Obtenga una porción de llaves de un mapa en Go

Golang Map es una colección de pares clave-valor no ordenados. Se usa ampliamente porque permite búsquedas rápidas y valores recuperados, actualizados o eliminados usando claves.

Los valores en los mapas no son únicos como las claves y pueden ser de cualquier tipo, como int, float64, rune, text, pointer, tipo de referencia, tipo de mapa, etc.

En este tutorial, recuperaremos una porción de claves de un mapa en Go.

Use range y append() para obtener una porción de claves de un mapa en Go

Comenzamos con un mapa de claves de cadena y valores de cadena en este ejemplo. Luego ilustramos cómo recuperar solo las claves en un segmento de cadena separado.

Obtenemos las claves del mapa usando range y adjuntándolas a un segmento vacío usando append().

package main

import "fmt"

func main() {
    m := map[string]string{
        "animal": "Cat",
        "Car":    "GMC",
        "Metal":  "Gold",
    }

    keys := []string{}
    for key, _ := range m {
        keys = append(keys, key)
    }

    fmt.Println("KEYS SLICE -", keys)
}

Producción :

KEYS SLICE - [animal Car Metal]

Use la función MapKeys para obtener una porción de teclas de un mapa en Go

Para adquirir una matriz de claves de tipo []Value, usamos el método MapKeys del paquete reflect.

package main

import (
    "fmt"
    "reflect"
)

func main() {
    a := map[string]string{
        "animal": "Cat",
        "Car":    "GMC",
        "Metal":  "Gold",
    }

    keys := reflect.ValueOf(a).MapKeys()

    fmt.Println("Keys Slice -", keys)
}

Producción :

Keys Slice - [animal Car Metal]

Artículo relacionado - Go Map