Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menguji Kesetaraan Peta dalam Go?

Bagaimana untuk Menguji Kesetaraan Peta dalam Go?

Mary-Kate Olsen
Lepaskan: 2024-11-13 09:46:02
asal
1056 orang telah melayarinya

How to Test Map Equivalence in Go?

Menguji Kesetaraan Peta dalam Go

Dalam ujian dipacu jadual, cabaran menguji kesamaan peta timbul. Menyemak panjang dan pasangan nilai kunci secara manual menjadi membosankan, terutamanya apabila diulang untuk jenis peta yang berbeza.

Penyelesaian Idiomatik

Penyelesaian idiomatik menggunakan pakej pantulan perpustakaan standard Go. Fungsi reflect.DeepEqual mengambil dua argumen{} antara muka dan menyemak kesamaan dengan:

  1. Membandingkannya untuk nilai sifar
  2. Membandingkan panjangnya (untuk struktur data seperti peta)
  3. Menyemak kesamaan unsur konstituennya secara rekursif (pasangan nilai kunci dalam peta)

Contoh

import "reflect"

func TestMapEquality(t *testing.T) {
    m1 := map[string]int{"foo": 1, "bar": 2}
    m2 := map[string]int{"foo": 1, "bar": 2}
    eq := reflect.DeepEqual(m1, m2)
    if !eq {
        t.Errorf("Maps not equal: %v", m1, m2)
    }
}
Salin selepas log masuk

Nota Tambahan

  • reflect.DeepEqual berfungsi dengan mana-mana jenis peta yang sah, menjadikannya penyelesaian yang serba boleh.
  • Memandangkan ia menerima hujah{} antara muka, adalah penting untuk memastikan nilai yang diluluskan adalah benar-benar peta.
  • Sifat rekursif fungsi memastikan bahawa struktur data bersarang pun dibandingkan dengan teliti untuk kesaksamaan.

Atas ialah kandungan terperinci Bagaimana untuk Menguji Kesetaraan Peta dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan