判断输入的字符串是否符合ip格式
以下代码不仅可用于ipv6,也同样适用于ipv4。
package main
import (
"net"
"fmt"
)
func main() {
//ipv4 := "12.56.30.88"
ipv6 := "fe80::7526:a2ae:a0b8:946d"
var p_ipv6 *string = &ipv6 //使用指针
// ParseIP 这个方法 可以用来检查 ipv4/ipv6 地址是否正确,如果不正确,该方法返回 nil
address := net.ParseIP(*p_ipv6)
if address == nil {
fmt.Println("ipv6地址格式不正确")
}else {
fmt.Println("正确的ipv6地址-String:", address.String()) //返回格式string
fmt.Println("正确的ipv6地址-To4", address.To4()) //返回格式IP
fmt.Println("正确的ipv6地址-To16", address.To16()) //返回格式IP
}
}
运行结果:
正确的ipv6地址-String: fe80::7526:a2ae:a0b8:946d
正确的ipv6地址-To4 <nil>
正确的ipv6地址-To16 fe80::7526:a2ae:a0b8:946d
ipv4相关
package main
import