Saya cuba memahami/memahami mengapa saya tidak dapat membandingkan dua jaringan yang serupa.Addr.
Daripada siaran ini, nampaknya dua antara muka sepatutnya dapat membandingkan jika mereka mempunyai jenis asas yang sama dan jenis itu boleh dibandingkan. Dalam contoh berikut, jenis asas ialah net.UDPAddr. Ia ialah struktur yang mengandungi rentetan, int dan net.IP, yang merupakan alias jenis []bait.
Adakah kerana menghiris IP tidak setanding? Walaupun jenis, panjang dan kandungan yang sama?
Contoh:
https://go.dev/play/p/dIzRCTwBA4P
Contoh anda membandingkan nilai yang dikembalikan oleh dua panggilan kepada net.ResolveUDPAddr
. Tetapi jika anda berfikir tentang tandatangan fungsi:
Anda akan perasan bahawa anda sebenarnya membandingkan dua penunjuk; ia adalah setanding, tetapi tidak sama (anda sedang membandingkan penunjuk; bukan nilai yang ditunjukkannya).
Mengikut spesifikasi go:
net.UDPAddr mengandungi net.IP
net.IP
这是一个 []byte
yang merupakan []bait
dan oleh itu tidak boleh dibandingkan.
Contoh sambungan ini boleh membantu.
Atas ialah kandungan terperinci Mengapa saya tidak boleh membandingkan net.Addr?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!