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.