Go 言語 (Golang) は、Google によって開発されたオープンソース プログラミング言語で、高速、効率的、読みやすく、簡潔で強力な構文という特徴があります。ネットワーク プログラミングでは、IP アドレスと文字列を相互に変換する必要があることがよくあります。この記事では、GolangでIPアドレスと文字列を変換する方法を紹介します。
IP アドレスについて
IP アドレスは、ネットワーク上のコンピュータを識別するために使用される固有のアドレスです。 IPv4 プロトコルでは、IP アドレスは、ドット区切り文字で区切られた 0 ~ 255 の範囲の 4 つの 8 ビット整数で構成されます (例: 192.168.1.1)。 IPv6 プロトコルでは、IP アドレスの長さは 128 ビットで、16 ビット整数の 8 つのグループとして表現され、各グループはコロン区切り文字で区切られます。例: 2001:0db8:85a3:0000:0000:8a2e:0370 :7334。
Golang の IP アドレスは、net.IP 型で表されます。これは、使用されるプロトコルに応じて長さが異なるバイト配列です。 IPv4 アドレスの長さは 4 バイト、IPv6 アドレスの長さは 16 バイトです。 Golang では、net パッケージは IP アドレスと文字列を変換するための多くの関数を提供します。
IP アドレスから文字列への
IP アドレスから文字列への変換は、ネットワーク プログラミングで頻繁に対処する必要がある問題です。 Golang では、net.IP.String() メソッドを使用して IP アドレスを文字列に変換できます。
package main import ( "fmt" "net" ) func main() { ip := net.ParseIP("192.168.1.1") fmt.Println("IP Address:", ip.String()) }
出力: IP アドレス: 192.168.1.1
この例では、次のように使用します。 net.ParseIP() 関数は、文字列を IP アドレスに解析し、net.IP.String() メソッドを使用して文字列に変換します。
文字列を IP アドレスに変換する
逆に、文字列を IP アドレスに変換することもできます。 Golang では、net.ParseIP() 関数を使用して文字列を IP アドレスに変換できます。文字列が有効な IP アドレスでない場合は、nil が返されます。
package main import ( "fmt" "net" ) func main() { ip := net.ParseIP("192.168.1.1") if ip != nil { fmt.Println("IP Address:", ip) } else { fmt.Println("Invalid IP Address") } }
出力: IP アドレス: 192.168.1.1
ただし、文字列が IPv6 アドレスの場合は、net.ParseIP() 関数を使用して、次の IPv6 アドレスに変換する必要があります。 net.IP タイプ 。サンプルコードは次のとおりです。
package main import ( "fmt" "net" ) func main() { ip := net.ParseIP("2001:0db8:85a3:0000:0000:8a2e:0370:7334") if ip != nil { fmt.Println("IP Address:", ip) } else { fmt.Println("Invalid IP Address") } }
出力: IP アドレス: 2001:db8:85a3::8a2e:370:7334
概要
この記事では、その方法を紹介します。 Golang の IP アドレスと文字列を相互に変換します。 IPアドレスはネットワークプログラミングにおいて非常に重要な概念であり、IPアドレスの変換方法をマスターすることで、より柔軟にネットワークプログラミングを行うことができます。 Golang の net パッケージが提供する機能を使用すると、IP アドレスと文字列を簡単に相互に変換でき、ネットワークプログラミングの効率と利便性が向上します。
以上がGolang で IP アドレスと文字列を相互に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。