Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah anda mendapatkan semula nilai daripada peta dalam Go?

Bagaimanakah anda mendapatkan semula nilai daripada peta dalam Go?

Patricia Arquette
Patricia Arquetteasal
2024-11-16 12:47:03897semak imbas

How do you retrieve values from a map in Go?

Cara Mendapatkan Nilai daripada Peta dalam Go

Apabila bekerja dengan peta dalam Go, tugas biasa adalah untuk mendapatkan nilai tertentu berdasarkan kunci yang diberikan. Walau bagaimanapun, sintaks untuk mengakses nilai peta boleh mengelirukan, terutamanya untuk pemula. Artikel ini akan membimbing anda melalui proses mendapatkan nilai daripada peta dan memberikan contoh untuk membantu anda memahami teknik yang terlibat.

Anda telah menyediakan peta dengan kunci rentetan dan nilai {} antara muka. Untuk mengakses nilai daripada peta ini, anda perlu menaip menegaskan nilai kepada jenis yang diingini.

Contoh:

res := map[string]interface{}{
    "Event_dtmReleaseDate": "2009-09-15 00:00:00 +0000 +00:00",
    "strID":               "TSTB",
    "Trans_strGuestList":   nil,
}

eventDate := res["Event_dtmReleaseDate"].(string)
strID := res["strID"].(string)
guestList := res["Trans_strGuestList"].(interface{}) // or nil if it's nil in the map

Penjelasan:

  1. Kunci peta ialah rentetan.
  2. Nilai yang dikaitkan dengan kunci adalah daripada jenis antara muka {}.
  3. Untuk mendapatkan nilai sebenar, kita perlu menaip menegaskan antara muka {} kepada jenis yang diingini.
  4. Dalam contoh kita, kita menaip menegaskan nilai kepada a rentetan.

Nota:

Adalah penting untuk ambil perhatian bahawa penegasan jenis boleh panik jika penegasan jenis gagal. Untuk mengendalikan perkara ini, anda boleh menggunakan simpulan bahasa berikut:

var eventDate string
ok := false

if assertedValue, ok := res["Event_dtmReleaseDate"].(string); ok {
    eventDate = assertedValue
}

Pendekatan ini memastikan kod anda tidak panik jika penegasan jenis gagal.

Atas ialah kandungan terperinci Bagaimanakah anda mendapatkan semula nilai daripada peta dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn