Spec-Zone.ru › Go

Пакет netip

  • import "net/netip"
  • Обзор
  • Индекс

Обзор

Пакет netip определяет тип IP-адреса, который является типом с малым значением. Основываясь на типе Addr, пакет также определяет AddrPort (IP-адрес и порт) и Prefix (IP-адрес и префикс длины в битах).

По сравнению с типом net.IP, тип Addr занимает меньше памяти, является неизменяемым и сравнимым (поддерживает == и может быть ключом в словаре).

Индекс

  • тип Addr
  • функция AddrFrom16(addr [16]byte) Addr
  • функция AddrFrom4(addr [4]byte) Addr
  • функция AddrFromSlice(slice []byte) (ip Addr, ok bool)
  • функция IPv4Unspecified() Addr
  • функция IPv6LinkLocalAllNodes() Addr
  • функция IPv6LinkLocalAllRouters() Addr
  • функция IPv6Loopback() Addr
  • функция IPv6Unspecified() Addr
  • функция MustParseAddr(s string) Addr
  • функция ParseAddr(s string) (Addr, error)
  • функция (ip Addr) AppendBinary(b []byte) ([]byte, error)
  • функция (ip Addr) AppendText(b []byte) ([]byte, error)
  • функция (ip Addr) AppendTo(b []byte) []byte
  • функция (ip Addr) As16() (a16 [16]byte)
  • функция (ip Addr) As4() (a4 [4]byte)
  • функция (ip Addr) AsSlice() []byte
  • функция (ip Addr) BitLen() int
  • функция (ip Addr) Compare(ip2 Addr) int
  • функция (ip Addr) Is4() bool
  • функция (ip Addr) Is4In6() bool
  • функция (ip Addr) Is6() bool
  • функция (ip Addr) IsGlobalUnicast() bool
  • функция (ip Addr) IsInterfaceLocalMulticast() bool
  • функция (ip Addr) IsLinkLocalMulticast() bool
  • функция (ip Addr) IsLinkLocalUnicast() bool
  • функция (ip Addr) IsLoopback() bool
  • функция (ip Addr) IsMulticast() bool
  • функция (ip Addr) IsPrivate() bool
  • функция (ip Addr) IsUnspecified() bool
  • функция (ip Addr) IsValid() bool
  • функция (ip Addr) Less(ip2 Addr) bool
  • функция (ip Addr) MarshalBinary() ([]byte, error)
  • функция (ip Addr) MarshalText() ([]byte, error)
  • функция (ip Addr) Next() Addr
  • функция (ip Addr) Prefix(b int) (Prefix, error)
  • функция (ip Addr) Prev() Addr
  • функция (ip Addr) String() string
  • функция (ip Addr) StringExpanded() string
  • функция (ip Addr) Unmap() Addr
  • функция (ip *Addr) UnmarshalBinary(b []byte) error
  • функция (ip *Addr) UnmarshalText(text []byte) error
  • функция (ip Addr) WithZone(zone string) Addr
  • функция (ip Addr) Zone() string
  • тип AddrPort
  • функция AddrPortFrom(ip Addr, port uint16) AddrPort
  • функция MustParseAddrPort(s string) AddrPort
  • функция ParseAddrPort(s string) (AddrPort, error)
  • функция (p AddrPort) Addr() Addr
  • функция (p AddrPort) AppendBinary(b []byte) ([]byte, error)
  • функция (p AddrPort) AppendText(b []byte) ([]byte, error)
  • функция (p AddrPort) AppendTo(b []byte) []byte
  • функция (p AddrPort) Compare(p2 AddrPort) int
  • функция (p AddrPort) IsValid() bool
  • функция (p AddrPort) MarshalBinary() ([]byte, error)
  • функция (p AddrPort) MarshalText() ([]byte, error)
  • функция (p AddrPort) Port() uint16
  • функция (p AddrPort) String() string
  • функция (p *AddrPort) UnmarshalBinary(b []byte) error
  • функция (p *AddrPort) UnmarshalText(text []byte) error
  • тип Prefix
  • функция MustParsePrefix(s string) Prefix
  • функция ParsePrefix(s string) (Prefix, error)
  • функция PrefixFrom(ip Addr, bits int) Prefix
  • функция (p Prefix) Addr() Addr
  • функция (p Prefix) AppendBinary(b []byte) ([]byte, error)
  • функция (p Prefix) AppendText(b []byte) ([]byte, error)
  • функция (p Prefix) AppendTo(b []byte) []byte
  • функция (p Prefix) Bits() int
  • функция (p Prefix) Contains(ip Addr) bool
  • функция (p Prefix) IsSingleIP() bool
  • функция (p Prefix) IsValid() bool
  • функция (p Prefix) MarshalBinary() ([]byte, error)
  • функция (p Prefix) MarshalText() ([]byte, error)
  • функция (p Prefix) Masked() Prefix
  • функция (p Prefix) Overlaps(o Prefix) bool
  • функция (p Prefix) String() string
  • функция (p *Prefix) UnmarshalBinary(b []byte) error
  • функция (p *Prefix) UnmarshalText(text []byte) error

Файлы пакета

netip.go uint128.go

тип Addr 1.18

Addr представляет собой IPv4 или IPv6 адрес (с или без зоны адресации), аналогично net.IP или net.IPAddr.

В отличие от net.IP или net.IPAddr, Addr является сравнимым типом значения (он поддерживает == и может быть ключом в словаре) и является неизменяемым.

Нулевое значение Addr не является допустимым IP-адресом. Addr{} отличается как от 0.0.0.0, так и от ::.

type Addr struct {
    // contains filtered or unexported fields
}

функция AddrFrom16 1.18

func AddrFrom16(addr [16]byte) Addr

AddrFrom16 возвращает IPv6-адрес, заданный байтами в addr. IPv4-адрес в IPv6-формате остается IPv6-адресом. (Используйте Unmap для преобразования, если это необходимо.)

функция AddrFrom4 1.18

func AddrFrom4(addr [4]byte) Addr

AddrFrom4 возвращает адрес IPv4-адреса, заданного байтами в addr.

функция AddrFromSlice 1.18

func AddrFromSlice(slice []byte) (ip Addr, ok bool)

AddrFromSlice анализирует 4- или 16-байтовый срез байтов как IPv4- или IPv6-адрес. Обратите внимание, что net.IP может быть передан непосредственно в качестве аргумента []byte. Если длина среза не равна 4 или 16, AddrFromSlice возвращает Addr{}, false.

функция IPv4Unspecified 1.18

func IPv4Unspecified() Addr

IPv4Unspecified возвращает неопределённый IPv4-адрес "0.0.0.0".

функция IPv6LinkLocalAllNodes 1.18

func IPv6LinkLocalAllNodes() Addr

IPv6LinkLocalAllNodes возвращает IPv6-мультиадресную группу «все узлы в локальной сети» ff02::1.

функция IPv6LinkLocalAllRouters 1.20

func IPv6LinkLocalAllRouters() Addr

IPv6LinkLocalAllRouters возвращает IPv6-мультиадресную группу «все маршрутизаторы в локальной сети» ff02::2.

функция IPv6Loopback 1.20

func IPv6Loopback() Addr

IPv6Loopback возвращает IPv6-адрес обратной связи ::1.

функция IPv6Unspecified 1.18

func IPv6Unspecified() Addr

IPv6Unspecified возвращает неопределенный IPv6-адрес "::".

функция MustParseAddr 1.18

func MustParseAddr(s string) Addr

MustParseAddr вызывает ParseAddr(s) и вызывает панику при ошибке. Предназначен для использования в тестах с жёстко заданными строками.

функция ParseAddr 1.18

func ParseAddr(s string) (Addr, error)

ParseAddr анализирует s как IP-адрес, возвращая результат. Строка s может быть в точечной десятичной форме ("192.0.2.1"), IPv6 ("2001:db8::68") или IPv6 с зоной адресации ("fe80::1cc0:3e8c:119f:c2e1%ens18").

функция (Addr) AppendBinary 1.24

func (ip Addr) AppendBinary(b []byte) ([]byte, error)

AppendBinary реализует интерфейс encoding.BinaryAppender.

функция (Addr) AppendText 1.24

func (ip Addr) AppendText(b []byte) ([]byte, error)

AppendText реализует интерфейс encoding.TextAppender, аналогично Addr.AppendTo.

функция (Addr) AppendTo 1.18

func (ip Addr) AppendTo(b []byte) []byte

AppendTo добавляет текстовое представление ip, сгенерированное Addr.MarshalText, к b и возвращает расширенный буфер.

функция (Addr) As16 1.18

func (ip Addr) As16() (a16 [16]byte)

As16 возвращает IP-адрес в его 16-байтовом представлении. IPv4-адреса возвращаются как IPv4-отображаемые IPv6-адреса. IPv6-адреса с зонами возвращаются без зоны (используйте метод Addr.Zone для её получения). Нулевое значение ip возвращает все нули.

функция (Addr) As4 1.18

func (ip Addr) As4() (a4 [4]byte)

As4 возвращает IPv4 или IPv4-в-IPv6 адрес в его 4-байтовом представлении. Если ip — нулевое значение Addr или IPv6-адрес, As4 вызывает панику. Обратите внимание, что 0.0.0.0 не является нулевым значением Addr.

функция (Addr) AsSlice 1.18

func (ip Addr) AsSlice() []byte

AsSlice возвращает IPv4 или IPv6 адрес в его соответствующем 4-байтовом или 16-байтовом представлении.

func (Addr) BitLen 1.18

func (ip Addr) BitLen() int

BitLen возвращает количество бит в IP-адресе: 128 для IPv6, 32 для IPv4 и 0 для нулевого Addr.

Обратите внимание, что IPv4-мапированные IPv6-адреса считаются IPv6-адресами и поэтому имеют длину 128 бит.

func (Addr) Compare 1.18

func (ip Addr) Compare(ip2 Addr) int

Compare возвращает целое число, сравнивающее два IP-адреса. Результат будет 0, если ip == ip2, -1, если ip < ip2, и +1, если ip > ip2. Определение «меньше» такое же, как у метода Addr.Less.

func (Addr) Is4 1.18

func (ip Addr) Is4() bool

Is4 сообщает, является ли ip IPv4-адресом.

Возвращает false для IPv4-мапированных IPv6-адресов. См. Addr.Unmap.

func (Addr) Is4In6 1.18

func (ip Addr) Is4In6() bool

Is4In6 сообщает, является ли ip «IPv4-мапированным IPv6-адресом», как определено в RFC 4291. То есть, сообщает, находится ли ip в ::ffff:0:0/96.

func (Addr) Is6 1.18

func (ip Addr) Is6() bool

Is6 сообщает, является ли ip IPv6-адресом, включая IPv4-мапированные IPv6-адреса.

func (Addr) IsGlobalUnicast 1.18

func (ip Addr) IsGlobalUnicast() bool

IsGlobalUnicast сообщает, является ли ip глобальным уникаст-адресом.

Возвращает true для IPv6-адресов, которые выходят за пределы текущего глобального уникаст-пространства IANA 2000::/3, за исключением пространства link-local адресов. Также возвращает true, даже если ip находится в пространстве частных IPv4-адресов или уникальном локальном пространстве IPv6-адресов. Возвращает false для нулевого Addr.

Для справки, см. RFC 1122, RFC 4291 и RFC 4632.

func (Addr) IsInterfaceLocalMulticast 1.18

func (ip Addr) IsInterfaceLocalMulticast() bool

IsInterfaceLocalMulticast сообщает, является ли ip IPv6-адресом локального интерфейса multicast.

func (Addr) IsLinkLocalMulticast 1.18

func (ip Addr) IsLinkLocalMulticast() bool

IsLinkLocalMulticast сообщает, является ли ip адресом link-local multicast.

func (Addr) IsLinkLocalUnicast 1.18

func (ip Addr) IsLinkLocalUnicast() bool

IsLinkLocalUnicast сообщает, является ли ip адресом link-local unicast.

func (Addr) IsLoopback 1.18

func (ip Addr) IsLoopback() bool

IsLoopback сообщает, является ли ip адресом loopback.

func (Addr) IsMulticast 1.18

func (ip Addr) IsMulticast() bool

IsMulticast сообщает, является ли ip multicast-адресом.

func (Addr) IsPrivate 1.18

func (ip Addr) IsPrivate() bool

IsPrivate сообщает, является ли ip частным адресом в соответствии с RFC 1918 (IPv4-адреса) и RFC 4193 (IPv6-адреса). То есть, сообщает, находится ли ip в 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 или fc00::/7. Это то же самое, что и net.IP.IsPrivate.

func (Addr) IsUnspecified 1.18

func (ip Addr) IsUnspecified() bool

IsUnspecified сообщает, является ли ip неопределённым адресом, либо IPv4-адресом "0.0.0.0", либо IPv6-адресом "::".

Обратите внимание, что нулевой Addr не является неопределенным адресом.

func (Addr) IsValid 1.18

func (ip Addr) IsValid() bool

IsValid сообщает, является ли Addr инициализированным адресом (не нулевым Addr).

Обратите внимание, что "0.0.0.0" и "::" являются допустимыми значениями.

func (Addr) Less 1.18

func (ip Addr) Less(ip2 Addr) bool

Less сообщает, предшествует ли ip в сортировке ip2. IP-адреса сортируются сначала по длине, а затем по адресу. IPv6-адреса с зонами сортируются сразу после того же адреса без зоны.

func (Addr) MarshalBinary 1.18

func (ip Addr) MarshalBinary() ([]byte, error)

MarshalBinary реализует интерфейс encoding.BinaryMarshaler. Возвращает нулевой срез для нулевого Addr, 4-байтовую форму для IPv4-адреса и 16-байтовую форму с добавленной зоной для IPv6-адреса.

func (Addr) MarshalText 1.18

func (ip Addr) MarshalText() ([]byte, error)

MarshalText реализует интерфейс encoding.TextMarshaler, кодирование совпадает с результатом Addr.String, с одним исключением: если ip является нулевым Addr, кодирование — пустая строка.

func (Addr) Next 1.18

func (ip Addr) Next() Addr

Next возвращает адрес, следующий за ip. Если такого нет, возвращает нулевой Addr.

func (Addr) Prefix 1.18

func (ip Addr) Prefix(b int) (Prefix, error)

Prefix сохраняет только верхних b бит IP, создавая Prefix указанной длины. Если ip — нулевой Addr, Prefix всегда возвращает нулевой Prefix и nil-ошибку. В противном случае, если bits меньше нуля или больше ip.BitLen(), Prefix возвращает ошибку.

func (Addr) Prev 1.18

func (ip Addr) Prev() Addr

Prev возвращает IP, предшествующий ip. Если такого нет, возвращает нулевое значение IP.

func (Addr) String 1.18

func (ip Addr) String() string

String возвращает строковую форму IP-адреса ip. Возвращает одну из 5 форм:

  • "недействительный IP", если ip — нулевой Addr
  • IPv4 десятичная точка ( «192.0.2.1» )
  • IPv6 («2001:db8::1»)
  • «::ffff:1.2.3.4» (если Addr.Is4In6)
  • IPv6 с зоной («fe80:db8::1%eth0»)

Обратите внимание, что в отличие от метода IP.String пакета net, IPv4-мапированные IPv6-адреса форматируются с префиксом «::ffff:» перед четырьмя точками.

func (Addr) StringExpanded 1.18

func (ip Addr) StringExpanded() string

StringExpanded похож на Addr.String, но IPv6-адреса расширяются с ведущими нулями и без сжатия «::». Например, «2001:db8::1» становится «2001:0db8:0000:0000:0000:0000:0000:0001».

func (Addr) Unmap 1.18

func (ip Addr) Unmap() Addr

Unmap возвращает ip с удаленным любым префиксом IPv4-мапированного IPv6-адреса.

То есть, если ip является IPv6-адресом, обернутым IPv4-адресом, он возвращает обернутый IPv4-адрес. В противном случае возвращает ip без изменений.

func (*Addr) UnmarshalBinary 1.18

func (ip *Addr) UnmarshalBinary(b []byte) error

UnmarshalBinary реализует интерфейс encoding.BinaryUnmarshaler. Ожидает данные в формате, сгенерированном MarshalBinary.

func (*Addr) UnmarshalText 1.18

func (ip *Addr) UnmarshalText(text []byte) error

UnmarshalText реализует интерфейс encoding.TextUnmarshaler. IP-адрес ожидается в форме, принятой ParseAddr.

Если text пуст, UnmarshalText устанавливает *ip в нулевой Addr и не возвращает ошибки.

func (Addr) WithZone 1.18

func (ip Addr) WithZone(zone string) Addr

WithZone возвращает IP, который такой же, как ip, но с предоставленной зоной. Если zone пустая, зона удаляется. Если ip — IPv4-адрес, WithZone — это операция no-op и возвращает ip без изменений.

func (Addr) Zone 1.18

func (ip Addr) Zone() string

Zone возвращает зону scoped addressing IPv6 ip, если она есть.

type AddrPort 1.18

AddrPort — это IP-адрес и номер порта.

type AddrPort struct {
    // contains filtered or unexported fields
}

func AddrPortFrom 1.18

func AddrPortFrom(ip Addr, port uint16) AddrPort

AddrPortFrom возвращает AddrPort с указанным IP-адресом и портом. Не выделяет память.

func MustParseAddrPort 1.18

func MustParseAddrPort(s string) AddrPort

MustParseAddrPort вызывает ParseAddrPort(s) и вызывает ошибку при появлении ошибки. Предназначен для использования в тестах со строками, заданными жестко.

func ParseAddrPort 1.18

func ParseAddrPort(s string) (AddrPort, error)

ParseAddrPort парсит s как AddrPort.

Не выполняет разрешение имен: и адрес, и порт должны быть числовыми.

func (AddrPort) Addr 1.18

func (p AddrPort) Addr() Addr

Addr возвращает IP-адрес p.

func (AddrPort) AppendBinary 1.24

func (p AddrPort) AppendBinary(b []byte) ([]byte, error)

AppendBinary реализует интерфейс encoding.BinaryAppendler. Возвращает Addr.AppendBinary с добавленными двумя байтами, содержащими порт в little-endian.

func (AddrPort) AppendText 1.24

func (p AddrPort) AppendText(b []byte) ([]byte, error)

AppendText реализует интерфейс encoding.TextAppender. Кодирование такое же, как возвращается AddrPort.AppendTo.

func (AddrPort) AppendTo 1.18

func (p AddrPort) AppendTo(b []byte) []byte

AppendTo добавляет текстовое кодирование p, сгенерированное AddrPort.MarshalText, в b и возвращает расширенный буфер.

func (AddrPort) Compare 1.22

func (p AddrPort) Compare(p2 AddrPort) int

Compare возвращает целое число, сравнивающее два AddrPort. Результат будет 0, если p == p2, -1, если p < p2, и +1, если p > p2. AddrPorts сортируются сначала по IP-адресу, затем по порту.

func (AddrPort) IsValid 1.18

func (p AddrPort) IsValid() bool

IsValid сообщает, является ли p.Addr() валидным. Все порты валидны, включая нулевой.

func (AddrPort) MarshalBinary 1.18

func (p AddrPort) MarshalBinary() ([]byte, error)

MarshalBinary реализует интерфейс encoding.BinaryMarshaler. Возвращает Addr.MarshalBinary с добавленными двумя байтами, содержащими порт в little-endian.

func (AddrPort) MarshalText 1.18

func (p AddrPort) MarshalText() ([]byte, error)

MarshalText реализует интерфейс encoding.TextMarshaler. Кодирование такое же, как возвращаемое AddrPort.String, за исключением одного случая: если p.Addr() — нулевой Addr, кодирование — пустая строка.

func (AddrPort) Port 1.18

func (p AddrPort) Port() uint16

Port возвращает порт p.

func (AddrPort) String 1.18

func (p AddrPort) String() string

func (*AddrPort) UnmarshalBinary 1.18

func (p *AddrPort) UnmarshalBinary(b []byte) error

UnmarshalBinary реализует интерфейс encoding.BinaryUnmarshaler. Ожидаются данные в формате, сгенерированном методом AddrPort.MarshalBinary.

func (*AddrPort) UnmarshalText 1.18

func (p *AddrPort) UnmarshalText(text []byte) error

UnmarshalText реализует интерфейс encoding.TextUnmarshaler. Ожидается AddrPort в формате, сгенерированном методом AddrPort.MarshalText или принятом методом ParseAddrPort.

type Prefix 1.18

Prefix — префикс IP-адреса (CIDR), представляющий IP-сеть.

Задаются первые Prefix.Bits() битов адреса Addr(). Остальные биты соответствуют любому адресу. Диапазон значений Bits() — [0, 32] для IPv4 или [0, 128] для IPv6.

type Prefix struct {
    // contains filtered or unexported fields
}

func MustParsePrefix 1.18

func MustParsePrefix(s string) Prefix

MustParsePrefix вызывает ParsePrefix(s) и генерирует панику при ошибке. Предназначен для использования в тестах со строками жестко заданными в коде.

func ParsePrefix 1.18

func ParsePrefix(s string) (Prefix, error)

ParsePrefix анализирует s как префикс IP-адреса. Строка может быть в формате "192.168.1.0/24" или "2001:db8::/32", — нотация CIDR, определенная в RFC 4632 и RFC 4291. Зоны IPv6 в префиксах запрещены, и будет возвращена ошибка, если зона присутствует.

Обратите внимание, что биты замаскированных адресов не обнуляются. Используйте Masked для этого.

func PrefixFrom 1.18

func PrefixFrom(ip Addr, bits int) Prefix

PrefixFrom возвращает Prefix с предоставленным IP-адресом и длиной префикса в битах.

Не производит выделение памяти. В отличие от Addr.Prefix, PrefixFrom не маскирует биты хоста адреса ip.

Если bits меньше нуля или больше ip.BitLen, Prefix.Bits вернёт недопустимое значение -1.

func (Prefix) Addr 1.18

func (p Prefix) Addr() Addr

Addr возвращает IP-адрес p.

func (Prefix) AppendBinary 1.24

func (p Prefix) AppendBinary(b []byte) ([]byte, error)

AppendBinary реализует интерфейс encoding.AppendMarshaler. Возвращает Addr.AppendBinary с дополнительным байтом, содержащим биты префикса.

func (Prefix) AppendText 1.24

func (p Prefix) AppendText(b []byte) ([]byte, error)

AppendText реализует интерфейс encoding.TextAppender. Эквивалентно методу Prefix.AppendTo.

func (Prefix) AppendTo 1.18

func (p Prefix) AppendTo(b []byte) []byte

AppendTo добавляет текстовое представление p, сгенерированное методом Prefix.MarshalText, в буфер b и возвращает расширенный буфер.

func (Prefix) Bits 1.18

func (p Prefix) Bits() int

Bits возвращает длину префикса p.

Возвращает -1 при недопустимых значениях.

func (Prefix) Contains 1.18

func (p Prefix) Contains(ip Addr) bool

Contains проверяет, входит ли ip в сеть p.

IPv4-адрес не будет соответствовать IPv6-префиксу. IPv4-отображаемый IPv6-адрес не будет соответствовать IPv4-префиксу. Нулевой IP-адрес не будет соответствовать ни одному префиксу. Если ip имеет зону IPv6, Contains возвращает false, так как префиксы зоны удаляют.

func (Prefix) IsSingleIP 1.18

func (p Prefix) IsSingleIP() bool

IsSingleIP проверяет, содержит ли p ровно один IP-адрес.

func (Prefix) IsValid 1.18

func (p Prefix) IsValid() bool

IsValid проверяет, лежит ли p.Bits() в допустимом диапазоне для p.Addr(). Если p.Addr() — нулевой Addr, IsValid возвращает false. Обратите внимание, что если p — нулевой Prefix, то p.IsValid() == false.

func (Prefix) MarshalBinary 1.18

func (p Prefix) MarshalBinary() ([]byte, error)

MarshalBinary реализует интерфейс encoding.BinaryMarshaler. Возвращает Addr.MarshalBinary с дополнительным байтом, содержащим биты префикса.

func (Prefix) MarshalText 1.18

func (p Prefix) MarshalText() ([]byte, error)

MarshalText реализует интерфейс encoding.TextMarshaler. Кодирование такое же, как возвращаемое методом Prefix.String, за исключением одного случая: если p — нулевое значение, кодирование — пустая строка.

func (Prefix) Masked 1.18

func (p Prefix) Masked() Prefix

Masked возвращает p в каноническом виде, с замаскированными битами, кроме верхних p.Bits() бит p.Addr().

Если p нулевой или недействительный, Masked возвращает нулевой Prefix.

func (Prefix) Overlaps 1.18

func (p Prefix) Overlaps(o Prefix) bool

Overlaps проверяет, содержат ли p и o какие-либо общие IP-адреса.

Если p и o имеют разные семейства адресов или у любого из них нулевой IP, возвращается false. Как и в методе Contains, префикс с IPv4-отображаемым IPv6-адресом всё равно рассматривается как IPv6-маска.

func (Prefix) String 1.18

func (p Prefix) String() string

String возвращает CIDR-нотацию p: "<ip>/<bits>".

func (*Prefix) UnmarshalBinary 1.18

func (p *Prefix) UnmarshalBinary(b []byte) error

UnmarshalBinary реализует интерфейс encoding.BinaryUnmarshaler. Ожидаются данные в формате, сгенерированном методом Prefix.MarshalBinary.

func (*Prefix) UnmarshalText 1.18

func (p *Prefix) UnmarshalText(text []byte) error

UnmarshalText реализует интерфейс encoding.TextUnmarshaler. IP-адрес должен быть в формате, принятом методом ParsePrefix или сгенерированном методом Prefix.MarshalText.

© Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
http://golang.org/pkg/net/netip/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API