karmada/pkg/karmadactl/cmdinit/utils/ip.go

24 lines
452 B
Go

package utils
import (
"fmt"
"net"
)
//ParseIP parse an ip address and return whether it is a v4 or v6 ip address
func ParseIP(s string) (net.IP, int, error) {
ip := net.ParseIP(s)
if ip == nil {
return nil, 0, fmt.Errorf("%s is not a valid ip address", s)
}
for i := 0; i < len(s); i++ {
switch s[i] {
case '.':
return ip, 4, nil
case ':':
return ip, 6, nil
}
}
return nil, 0, fmt.Errorf("%s is not a valid ip address", s)
}