Maison > développement back-end > Golang > Comment la valeur dans l'interface de Golang Map change-t-elle ?

Comment la valeur dans l'interface de Golang Map change-t-elle ?

WBOY
Libérer: 2024-02-09 21:00:19
avant
951 Les gens l'ont consulté

Golang Map 接口中的值如何变化

Comment les valeurs dans l'interface de Golang Map changent-elles ? C'est une question qui déroute de nombreux développeurs Golang. En langage Go, la carte est une structure de données très importante, qui stocke les données sous forme de paires clé-valeur. Cependant, lors de l'utilisation de map, nous devons prêter attention à certains détails, notamment lorsqu'il s'agit de changements de valeur. Examinons donc de plus près comment les valeurs changent dans l'interface Map de Golang.

Contenu de la question

Voici la base de code - https://go.dev/play/p/bedouz9qhag

Sortie -

map[something:map[acm:34.12 age:12 dune:dune]]
Copier après la connexion

Quel effet la modification de la valeur de la variable t a-t-elle sur x ?

package main

import "fmt"

    func main() {
        x: = make(map[string] interface {}, 10)
        x["something"] = map[string] interface {} {
            "dune": "dune", "age": 12
        }
    
        t: = x["something"].(map[string] interface {})
        t["ACM"] = 34.12
       

 fmt.Println(x)
}
Copier après la connexion

Solution

Le type mappé est un type de référence, comme un pointeur ou une tranche,

Donc cette ligne

t := x["something"].(map[string]interface{}) t["ACM"] = 34.12 fmt.Println(x) }
Copier après la connexion

n'est qu'une copie superficielle pour vous dans x 变量中创建的现有地图创建 alias afin qu'ils pointent vers la même adresse mémoire où se trouvait la carte originale que vous avez créée.

Voir référence -https://www.php.cn/link/0bf31d0d702fcac8c8e07912f3347c31

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal