Heim > Backend-Entwicklung > Golang > golang int zu IP

golang int zu IP

WBOY
Freigeben: 2023-05-10 09:38:06
Original
912 Leute haben es durchsucht

In Golang müssen wir häufig eine IP-Adresse vom Typ Ganzzahl in eine IP-Adresse vom Typ Zeichenfolge konvertieren oder umgekehrt eine IP-Adresse vom Typ Zeichenfolge in eine IP-Adresse vom Typ Ganzzahl konvertieren.

Golang bietet praktische Bibliotheksfunktionen, um diese Konvertierung zu erreichen. Die IP-Konvertierung vom Integer-Typ in den String-Typ und vom String-Typ in den Integer-Typ kann mit den folgenden Funktionen und Methoden durchgeführt werden.

Konvertieren Sie eine IP-Adresse vom Typ Ganzzahl in eine IP-Adresse vom Typ Zeichenfolge:

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

Diese Funktion konvertiert eine vorzeichenlose ganzzahlige IP-Adresse (uint32) in eine IPv4-Adresse und gibt eine A-Struktur zurück vom Typ net.IP. Mit der Methode String() können wir die IP-Adresse in einen String-Typ umwandeln.

Verwendungsbeispiel:

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

Konvertieren Sie eine IP-Adresse vom Typ String in eine IP-Adresse vom Typ Integer:

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

Diese Funktion akzeptiert eine IP-Adresse (net .IP-Typ) als Parameter und gibt den entsprechenden vorzeichenlosen Ganzzahltyp (uint32) zurück. Innerhalb der Funktion verwenden wir die Funktion „binary.BigEndian.Uint32()“, um die IPv4-Adresse in eine 32-Bit-Ganzzahl ohne Vorzeichen umzuwandeln.

Verwendungsbeispiel:

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

Zusammenfassung:

In diesem Beitrag haben wir die Konvertierung einer IP-Adresse vom Typ „Integer“ in eine IP-Adresse vom Typ „String“ und a besprochen Methode zum Konvertieren einer IP-Adresse vom Typ String in eine IP-Adresse vom Typ Integer. Wir haben den Typ „net.IP“ und die Funktion „binary.BigEndian.Uint32()“ von Golang verwendet, um diese Konvertierung zu erreichen. Dies ist ein sehr häufiger Vorgang in der Netzwerkprogrammierung und Systemverwaltung. Diese Funktionen und Methoden können die Golang-Entwicklung komfortabler und effizienter machen.

Das obige ist der detaillierte Inhalt vongolang int zu IP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage