在Go语言中,你可以使用net.ParseIP()
函数将一个地址字符串解析为net.IP
类型,并且通过判断返回的结果是否为nil
来确定该地址是IPv4还是IPv6。
下面是一个示例代码:
package main
import (
"fmt"
"net"
)
func main() {
ipStr := "192.168.0.1"
ip := net.ParseIP(ipStr)
if ip == nil {
fmt.Printf("%s 不是有效的IP地址\n", ipStr)
} else if ip.To4() != nil {
fmt.Printf("%s 是IPv4地址\n", ipStr)
} else if ip.To16() != nil {
fmt.Printf("%s 是IPv6地址\n", ipStr)
}
}
以上示例代码中,我们首先使用net.ParseIP()
函数将给定的地址字符串解析为net.IP
类型。然后,我们通过判断返回的结果是否为nil
来确定该地址是否有效。如果有效,我们进一步使用To4()
和To16()
方法来检测它是IPv4还是IPv6地址。根据不同情况进行打印输出。
注意,在实际应用中,请确保输入的地址字符串格式正确并合法,以避免解析错误或非预期行为发生。
内容由零声教学AI助手提供,问题来源于学员提问