Menyemak Julat Alamat IP dalam Go/GoLang
Apabila bekerja dengan alamat IP dalam Go, anda mungkin menghadapi keperluan untuk menentukan sama ada yang diberikan Alamat IP berada dalam julat tertentu. Tugasan ini menjadi mudah dan cekap dengan fungsi terbina dalam Go.
Untuk menyemak sama ada alamat IP berada dalam julat, ikut langkah berikut:
1. Tukar Alamat IP kepada Bait:
Tukar julat alamat IP mula dan tamat, serta alamat IP input, kepada kepingan bait menggunakan fungsi net.ParseIP. Fungsi ini mengembalikan jenis IP, yang merupakan perwakilan hirisan bait bigendian bagi alamat IP.
2. Bandingkan Kepingan Bait:
Gunakan bait.Bandingkan untuk membandingkan kepingan bait alamat IP input dan julat alamat IP mula dan tamat. Fungsi ini mengembalikan integer yang menunjukkan susunan relatif hirisan bait:
Kod Contoh:
Kod berikut menunjukkan cara menyemak sama ada alamat IP berada dalam julat menggunakan bait.Bandingkan:
package main import ( "bytes" "fmt" "net" ) var ( ip1 = net.ParseIP("216.14.49.184") ip2 = net.ParseIP("216.14.49.191") ) func check(ip string) bool { trial := net.ParseIP(ip) if trial.To4() == nil { fmt.Printf("%v is not an IPv4 address\n", trial) return false } if bytes.Compare(trial, ip1) >= 0 && bytes.Compare(trial, ip2) <= 0 { fmt.Printf("%v is between %v and %v\n", trial, ip1, ip2) return true } fmt.Printf("%v is NOT between %v and %v\n", trial, ip1, ip2) return false } func main() { check("1.2.3.4") check("216.14.49.185") check("1::16") }Dalam contoh ini, fungsi semak mula-mula cuba menghuraikan alamat IP input. Jika ia bukan alamat IPv4 yang sah, ia mengembalikan mesej ralat. Jika tidak, ia membandingkan kepingan bait alamat IP input dengan alamat IP mula dan akhir julat menggunakan bait.Bandingkan. Ia kemudian mencetak hasil dan mengembalikan boolean yang menunjukkan sama ada alamat IP input berada dalam julat.
Dengan menggunakan bait.Bandingkan, Go menyediakan cara yang cekap dan mudah untuk menyemak sama ada alamat IP berada dalam julat yang ditentukan , menjadikannya alat yang berharga untuk tugasan manipulasi alamat IP.
Atas ialah kandungan terperinci Bagaimana untuk Semak sama ada Alamat IP berada dalam Julat Tertentu dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!