golang int ke IP

WBOY
WBOYasal
2023-05-10 09:38:06916semak imbas

Di Golang, kita selalunya perlu menukar alamat IP jenis integer kepada alamat IP jenis rentetan, atau sebaliknya, menukar alamat IP jenis rentetan kepada alamat IP jenis integer.

Golang menyediakan fungsi perpustakaan yang mudah untuk mencapai penukaran ini. Penukaran IP daripada jenis integer kepada jenis rentetan dan daripada jenis rentetan kepada jenis integer boleh dilengkapkan menggunakan fungsi dan kaedah berikut.

Tukar alamat IP jenis integer kepada alamat IP jenis rentetan:

func IntToIP(ip uint32) net.IP {
    return net.IPv4(byte(ip>>24), byte(ip>>16), byte(ip>>8), byte(ip))
}

Fungsi ini menukar alamat IP integer yang tidak ditandatangani (uint32) kepada alamat IPv4, mengembalikan jenis net.IP struktur. Kita boleh menukar alamat IP kepada jenis rentetan dengan menggunakan kaedah String().

Contoh penggunaan:

ip := uint32(3232235876) // 对应IP地址为192.168.1.100
ipAddr := IntToIP(ip)
fmt.Println(ipAddr.String()) // output: "192.168.1.100"

Tukar alamat IP jenis rentetan kepada alamat IP jenis integer:

func IPToInt(ip net.IP) uint32 {
    return binary.BigEndian.Uint32(ip.To4())
}

Fungsi ini menerima alamat IP (jenis net.IP) Sebagai parameter, dan mengembalikan jenis integer tidak bertanda yang sepadan (uint32). Di dalam fungsi, kami menggunakan fungsi binary.BigEndian.Uint32() untuk menukar alamat IPv4 kepada integer tidak bertanda 32-bit.

Contoh penggunaan:

ipStr := "192.168.1.100"
ipAddr := net.ParseIP(ipStr)
ipInt := IPToInt(ipAddr)
fmt.Println(ipInt) // output: 3232235876

Ringkasan:

Dalam siaran ini, kami membincangkan menukar alamat IP jenis integer kepada alamat IP jenis rentetan di Golang dan kaedah untuk menukar alamat IP jenis rentetan kepada alamat IP jenis integer. Kami menggunakan fungsi net.IP type dan binary.BigEndian.Uint32() yang disediakan oleh Golang untuk mencapai penukaran ini. Ini adalah operasi yang sangat biasa dalam pengaturcaraan rangkaian dan pengurusan sistem. Fungsi dan kaedah ini boleh menjadikan pembangunan Golang lebih mudah dan cekap.

Atas ialah kandungan terperinci golang int ke IP. 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