A Go library for performing calculations on IPv4 and IPv6 subnets. There is also limited support for EUI addresses.
It should be noted that while the repository name is "netaddr-go" the package name is simply "netaddr".
go get github.com/dspinhirne/netaddr-go
package main
import "fmt"
import "github.com/dspinhirne/netaddr-go"
func main() {
net,_ := netaddr.ParseIPv4Net("192.168.1.0/24")
fmt.Println(net)
}
Available online here.
Finalizing for an official 1.0 release. Design is not 100% guaranteed to be free of changes until the "1.0" branch is created.