Do you mean like To4 and To16 that are defined on net.IP?

switch {
case ip.To4() != nil:
    // is an IPv4 address
case ip.To16() != nil:
    // is an IPv6 address
default:
    // is something else
}

On Wed, Jun 15, 2016 at 11:29 PM, <goo...@digineo.de> wrote:

> Hi,
>
> In many software projects I have to get the address family of a net.IP
> object. I always duplicate the following code:
>
> func isIPv4(ip net.IP) bool {
>     return len(ip) == net.IPv4len || (len(ip) > 11 && isZeros(ip[0:10]) &&
> ip[10] == 0xff && ip[11] == 0xff)
> }
>
> func isZeros(ip net.IP) bool {
>     for _, b := range ip {
>         if b != 0 {
>             return false
>         }
>     }
>     return true
> }
>
> Instead it would be very very useful to have a Family(), IsIPv4 or IsIPv6
> function on net.IP.
> What is your opinion on that?
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to