Maison  >  Article  >  développement back-end  >  Guide de résolution d'adresse de fonction commune Golang

Guide de résolution d'adresse de fonction commune Golang

WBOY
WBOYoriginal
2024-04-08 14:18:01432parcourir

Les fonctions clés pour analyser les adresses dans le langage Go incluent : net.ParseIP() : analyser les adresses IPv4 ou IPv6. net.ParseCIDR() : analyser les balises CIDR. net.ResolveIPAddr() : résolvez le nom d'hôte ou l'adresse IP en adresse IP. net.ResolveTCPAdr() : résolvez les noms d'hôte et les ports en adresses TCP. net.ResolveUDPAdr() : résolvez les noms d'hôte et les ports en adresses UDP.

Golang 常用函数地址解析指南

Guide d'analyse des adresses des fonctions communes GoLang

Dans le langage Go, l'analyse des adresses est une opération de base dans la programmation réseau. Cet article présentera les fonctions couramment utilisées dans le langage Go pour analyser les adresses et fournira des cas pratiques pour démontrer comment utiliser ces fonctions.

Fonction principale

  • net.ParseIP() : Analyse une chaîne en une adresse IPv4 ou IPv6. Utilisation : ip := net.ParseIP("192.168.0.1")ip := net.ParseIP("192.168.0.1")
  • net.ParseCIDR(): 将字符串解析为一个 CIDR 标记,包括 IP 地址和掩码长度。用法:cidr := net.ParseCIDR("192.168.0.0/24")
  • net.ResolveIPAddr(): 将主机名或 IP 地址解析为一个 IP 地址。用法:addr, err := net.ResolveIPAddr("ip", "google.com")
  • net.ResolveTCPAddr(): 将主机名和端口解析为一个 TCP 地址。用法:addr, err := net.ResolveTCPAddr("tcp", "google.com:80")
  • net.ResolveUDPAddr():ResolveTCPAddr() 类似,但用于 UDP 地址。用法:addr, err := net.ResolveUDPAddr("udp", "google.com:80")
net.ParseCIDR() :

Analyse une chaîne en un jeton CIDR, y compris l'adresse IP et la longueur du masque. Utilisation : cidr := net.ParseCIDR("192.168.0.0/24")

net.ResolveIPAddr() :

Résolvez un nom d'hôte ou une adresse IP en une adresse IP. Utilisation : addr, err := net.ResolveIPAddr("ip", "google.com")

net.ResolveTCPAdr() :

Résolvez le nom d'hôte et le port en une adresse TCP. Utilisation : addr, err := net.ResolveTCPAdr("tcp", "google.com:80")

net.ResolveUDPAdr() :

et ResolveTCPAdr() Similaire, mais pour les adresses UDP. Utilisation : addr, err := net.ResolveUDPAdr("udp", "google.com:80")

Cas pratique

Cas 1 : Analyse de l'adresse IPv4

package main

import (
    "fmt"
    "net"
)

func main() {
    ip := net.ParseIP("192.168.0.1")
    fmt.Printf("IP: %v\n", ip)
}

Sortie :

IP: 192.168.0.1

🎜Cas 2 : Analyse des balises CIDR 🎜🎜
package main

import (
    "fmt"
    "net"
)

func main() {
    cidr := net.ParseCIDR("192.168.0.0/24")
    fmt.Printf("CIDR: %v\n", cidr)
}
🎜🎜Sortie : 🎜🎜
CIDR: 192.168.0.0/24
🎜🎜Cas 3 : Analyse du nom d'hôte 🎜🎜
package main

import (
    "fmt"
    "net"
)

func main() {
    addr, err := net.ResolveIPAddr("ip", "google.com")
    if err != nil {
        fmt.Printf("Error: %v\n", err)
    } else {
        fmt.Printf("IP: %v\n", addr.IP)
    }
}
🎜🎜Sortie : 🎜🎜
IP: 172.217.2.142

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!

Déclaration:
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