ipaddress-go

module
v1.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 1, 2022 License: Apache-2.0

README

ipaddress-go

Go library for handling IP addresses and subnets, both IPv4 and IPv6

IP network manipulation, operations, iterations, containment checks and data structures, with polymporphic code

View Project Page

View Godoc Go Reference

View Code Examples

Also available as a Java library from the IPAddress repository

Version Notes
1.2.0 Requires Go 1.12 or higher

go get github.com/seancfoley/ipaddress-go@v1.2.0

Getting Started

starting with address or subnet strings

import "github.com/seancfoley/ipaddress-go/ipaddr"

ipv6AddrStr := ipaddr.NewIPAddressString("a:b:c:d::a:b/64")
if ipAddr, err := ipv6AddrStr.ToAddress(); err != nil {
	// err.Error() has validation error
} else {
	// use the address
}

...or avoid errors, checking for nil:

str := ipaddr.NewIPAddressString("a:b:c:d:e-f:f:1.2-3.3.4/64")
addr := str.GetAddress()
if addr != nil {
	// use address
}

starting with host name strings

hostStr := "[::1]"

host := ipaddr.NewHostName(hostStr)
err := host.Validate()
if err == nil {
	if host.IsAddress() {
		fmt.Println("address: " + host.AsAddress().String())
	} else {
		fmt.Println("host name: " + host.String())
	}
	// use host
} else {
	fmt.Println(err.Error())
}

Directories

Path Synopsis
IPAddress is a library for handling IP addresses and subnets, both IPv4 and IPv6 Benefits of this Library • Parsing of all host name and ipv4/ipv6 address formats in common usage plus some additional formats • Parsing and representation of subnets, either those specified by network prefix length or those specified with ranges of segment values.
IPAddress is a library for handling IP addresses and subnets, both IPv4 and IPv6 Benefits of this Library • Parsing of all host name and ipv4/ipv6 address formats in common usage plus some additional formats • Parsing and representation of subnets, either those specified by network prefix length or those specified with ranges of segment values.
addrstr
Package addrstr provides interfaces for specifying how to create specific strings from addresses and address sections, as well as builder types to construct instances of those interfaces.
Package addrstr provides interfaces for specifying how to create specific strings from addresses and address sections, as well as builder types to construct instances of those interfaces.
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL