Maison > développement back-end > Golang > le corps du texte

golang int vers IP

WBOY
Libérer: 2023-05-10 09:38:06
original
785 Les gens l'ont consulté

Dans Golang, nous avons souvent besoin de convertir une adresse IP de type entier en une adresse IP de type chaîne, ou à l'inverse, de convertir une adresse IP de type chaîne en une adresse IP de type entier.

Golang fournit des fonctions de bibliothèque pratiques pour réaliser cette conversion. La conversion IP du type entier en type chaîne et du type chaîne en type entier peut être effectuée à l'aide des fonctions et méthodes suivantes.

Convertir une adresse IP de type entier en une adresse IP de type chaîne :

func IntToIP(ip uint32) net.IP {
    return net.IPv4(byte(ip>>24), byte(ip>>16), byte(ip>>8), byte(ip))
}
Copier après la connexion

Cette fonction convertit une adresse IP entière non signée (uint32) en une adresse IPv4 et renvoie une structure de type net.IP. Nous pouvons convertir l'adresse IP en type chaîne en utilisant la méthode String().

Exemple d'utilisation :

ip := uint32(3232235876) // 对应IP地址为192.168.1.100
ipAddr := IntToIP(ip)
fmt.Println(ipAddr.String()) // output: "192.168.1.100"
Copier après la connexion

Convertir une adresse IP de type chaîne en une adresse IP de type entier :

func IPToInt(ip net.IP) uint32 {
    return binary.BigEndian.Uint32(ip.To4())
}
Copier après la connexion

Cette fonction accepte une adresse IP (type net.IP) comme paramètre et renvoie le type entier non signé correspondant ( uint32). À l'intérieur de la fonction, nous utilisons la fonction binaire.BigEndian.Uint32() pour convertir l'adresse IPv4 en un entier non signé de 32 bits.

Exemple d'utilisation :

ipStr := "192.168.1.100"
ipAddr := net.ParseIP(ipStr)
ipInt := IPToInt(ipAddr)
fmt.Println(ipInt) // output: 3232235876
Copier après la connexion

Résumé :

Dans cet article, nous avons discuté de la conversion d'une adresse IP de type entier en adresse IP de type chaîne et de la conversion d'une adresse IP de type chaîne en type entier dans la méthode d'adresse IP Golang. Nous avons utilisé le type net.IP et la fonction binaire.BigEndian.Uint32() fournis par Golang pour réaliser cette conversion. Il s'agit d'une opération très courante dans la programmation réseau et la gestion système. Ces fonctions et méthodes peuvent rendre le développement Golang plus pratique et efficace.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!