首頁  >  文章  >  後端開發  >  Golang 常用函數位址解析指南

Golang 常用函數位址解析指南

WBOY
WBOY原創
2024-04-08 14:18:01432瀏覽

Go 語言中解析位址的關鍵函數包括:net.ParseIP():解析 IPv4 或 IPv6 位址。 net.ParseCIDR():解析 CIDR 標記。 net.ResolveIPAddr():解析主機名稱或 IP 位址為 IP 位址。 net.ResolveTCPAddr():解析主機名稱和連接埠為 TCP 位址。 net.ResolveUDPAddr():解析主機名稱和連接埠為 UDP 位址。

Golang 常用函数地址解析指南

GoLang 常用函數位址解析指南

在 Go 語言中,解析位址是網路程式設計中的一個基本運算。本文將介紹 Go 語言中常用的函數來解析位址,並提供實際案例示範如何使用這些函數。

核心函數

  • net.ParseIP(): 將字串解析為 IPv4 或 IPv6 位址。用法: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")

實戰案例

案例1:解析IPv4 位址

package main

import (
    "fmt"
    "net"
)

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

輸出:

IP: 192.168.0.1

案例2:解析CIDR 標記

#
package main

import (
    "fmt"
    "net"
)

func main() {
    cidr := net.ParseCIDR("192.168.0.0/24")
    fmt.Printf("CIDR: %v\n", cidr)
}

輸出:

CIDR: 192.168.0.0/24

案例3:解析主機名稱

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

輸出:

IP: 172.217.2.142

以上是Golang 常用函數位址解析指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn