ネットワーク プログラミングでは、IP アドレスの操作と変更が頻繁に関係します。 Go 言語は、効率的で習得しやすいプログラミング言語として、IP アドレスを処理するための豊富なライブラリと関数も提供します。この記事では、Go 言語で IP アドレスを変更するための実践的なテクニックをいくつか紹介し、具体的なコード例を示します。
IP アドレスを変更する前に、まずこのマシンの IP アドレスを取得する方法を知る必要があります。機械。以下は、ローカル マシンの IP アドレスを取得するのに役立つ簡単な Go 言語コードの例です。
package main import ( "fmt" "net" ) func main() { addrs, err := net.InterfaceAddrs() if err != nil { fmt.Println(err) return } for _, addr := range addrs { if ipnet, ok := addr.(*net.IPNet); ok && !ipnet.IP.IsLoopback() { if ipnet.IP.To4() != nil { fmt.Println("IPv4 Address:", ipnet.IP.String()) } } } }
上記のコードは、net## で
InterfaceAddrs() を渡します。 # package この関数は、ローカル マシンのネットワーク インターフェイス アドレスを取得し、ローカル以外のすべてのループバック IPv4 アドレスを出力します。
package main import ( "log" "net" ) func main() { ip := net.ParseIP("192.168.1.1") newIP := net.ParseIP("10.0.0.1") if ip == nil { log.Fatalf("Invalid IP address") } if newIP == nil { log.Fatalf("Invalid new IP address") } // 修改IP地址 ip = newIP log.Println("New IP address:", ip.String()) }
net.ParseIP() 関数を使用して元の IP アドレスを解析し、新しい IP アドレスを入力し、簡単な割り当て操作を通じて IP アドレスを変更し、変更された IP アドレスを出力します。
package main import ( "fmt" "net" ) func main() { ipv4 := net.ParseIP("192.168.1.1") ipv6 := ipv4.To16() fmt.Println("IPv4 address:", ipv4.String()) fmt.Println("IPv6 address:", ipv6.String()) }
net.IP 型に解析します。次に、
To16() 関数を使用して、IPv6 アドレスに変換します。
以上がGo 言語プログラミング ガイド: IP アドレスを変更するための実践的なヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。