Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah nilai dalam antara muka Peta Golang berubah?
Bagaimanakah nilai dalam antara muka Peta Golang berubah? Ini adalah soalan yang mengelirukan ramai pembangun Golang. Dalam bahasa Go, peta ialah struktur data yang sangat penting, yang menyimpan data dalam bentuk pasangan nilai kunci. Walau bagaimanapun, apabila menggunakan peta, kita perlu memberi perhatian kepada beberapa butiran, terutamanya apabila berurusan dengan perubahan nilai. Jadi, mari kita lihat dengan lebih dekat bagaimana nilai berubah dalam antara muka Peta Golang.
Ini adalah asas kod - https://go.dev/play/p/bedouz9qhag
Output -
map[something:map[acm:34.12 age:12 dune:dune]]
Apakah kesan perubahan nilai pembolehubah t terhadap 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) }
Jenis yang dipetakan ialah jenis rujukan, seperti penunjuk atau kepingan,
Jadi baris ini
t := x["something"].(map[string]interface{}) t["ACM"] = 34.12 fmt.Println(x) }
hanyalah salinan cetek untuk anda dalam x
变量中创建的现有地图创建 alias
supaya mereka menunjuk ke alamat memori yang sama di mana peta asal yang anda buat.
Lihat rujukan -https://www.php.cn/link/0bf31d0d702fcac8c8e07912f3347c31
Atas ialah kandungan terperinci Bagaimanakah nilai dalam antara muka Peta Golang berubah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!