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

golang int zu IP

WBOY
WBOYOriginal
2023-05-10 09:38:06794Durchsuche

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))
}

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"

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())
}

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

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!

Stellungnahme:
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