Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menguji Kesetaraan Peta di Golang?

Bagaimana untuk Menguji Kesetaraan Peta di Golang?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-16 22:26:03486semak imbas

How to Test Equivalence of Maps in Golang?

Menguji Kesetaraan Peta di Golang

Apabila menulis ujian dipacu jadual yang melibatkan peta, menentukan kesetaraan mereka boleh menjadi mencabar. Satu pendekatan ialah menyemak kesamaan panjang dan pasangan nilai kunci individu secara manual, tetapi ini menjadi berulang untuk jenis peta yang berbeza.

Pendekatan Idiomatik

Tawaran perpustakaan Go penyelesaian terbina dalam: reflect.DeepEqual. Fungsi ini mengambil dua argumen{} antara muka dan membandingkan nilainya secara rekursif. Untuk peta, ia membandingkan panjang, kunci dan nilai menggunakan langkah berikut:

  1. Menyemak sama ada kedua-dua peta adalah sifar.
  2. Memastikan ia mempunyai panjang yang sama.
  3. Sahkan jika mereka mempunyai set (kunci, nilai) yang sama berpasangan.

Contoh Penggunaan

Untuk membandingkan dua peta, m1 dan m2, gunakan kod berikut:

import "reflect"

eq := reflect.DeepEqual(m1, m2)
if eq {
    fmt.Println("They're equal.")
} else {
    fmt.Println("They're unequal.")
}

Penyelesaian ini mengelakkan keperluan untuk logik perbandingan tersuai dan berfungsi dengan pelbagai jenis peta. Walau bagaimanapun, ambil perhatian bahawa ia juga akan membandingkan nilai bukan peta jika dihantar secara salah.

Atas ialah kandungan terperinci Bagaimana untuk Menguji Kesetaraan Peta di Golang?. 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