发布时间:2024-11-23 17:27:41
package main import ( "fmt" "net" ) func main() { // 域名 domain := "www.example.com" ips, err := net.LookupIP(domain) if err != nil { fmt.Println("域名解析失败:", err) return } // 遍历IP地址列表 for _, ip := range ips { fmt.Println("IP地址:", ip.String()) } }
注意,由于一个域名可能对应多个IP地址,所以返回的是一个IP地址的列表。在示例代码中,我们使用for循环来遍历所有IP地址,并通过调用String()方法打印出每一个IP地址的字符串形式。
IPv4地址通常由4个十进制数组成,例如:"192.168.0.1"。而IPv6地址则较为复杂,通常由8组16进制数组成,每组4个字符,以冒号(:)分隔,例如:"2001:0db8:85a3:0000:0000:8a2e:0370:7334"。需要注意的是,IPv6地址中的连续0可以省略,例如:"2001:db8:85a3::8a2e:370:7334"。
对于可能的错误处理,可以根据具体情况进行相应的处理措施。比如,可以选择重试域名解析操作,或者采用其他备选方案。
Golang提供了一个强大的net包,能够帮助开发者轻松地进行网络编程。有了域名解析转IP的方法,开发者可以更方便地进行网络连接和通信。希望本文对您有所帮助!