РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1097 of 1593 menu

Тип net.TCPAddr

Тип net.TCPAddr представляет собой TCP-адрес в пакете net. Он содержит два основных поля: IP и Port. Поле IP имеет тип net.IP и хранит IP-адрес в виде байтового среза, а поле Port имеет тип int и хранит номер порта. Тип реализует интерфейс net.Addr, предоставляя методы Network и String.

Структура TCPAddr

type TCPAddr struct { IP IP Port int }

Создание TCPAddr с помощью ResolveTCPAddr

Для создания net.TCPAddr из строкового представления адреса используется функция net.ResolveTCPAddr. Она принимает два аргумента: сеть (например, "tcp") и строку с адресом. Строка может содержать IP-адрес и порт в форматах "ip:port" или "[ipv6]:port". Если адрес не содержит порта, он будет равен 0.

package main import ( "fmt" "net" ) func main() { addr, err := net.ResolveTCPAddr("tcp", "127.0.0.1:8080") if err != nil { fmt.Println(err) return } fmt.Printf("IP: %s, Port: %d\n", addr.IP, addr.Port) }

Результат выполнения кода:

"IP: 127.0.0.1, Port: 8080"

Создание TCPAddr вручную

Вы можете создать экземпляр net.TCPAddr вручную, используя литерал структуры. Поле IP принимает значение типа net.IP, которое можно получить с помощью net.ParseIP.

package main import ( "fmt" "net" ) func main() { addr := &net.TCPAddr{ IP: net.ParseIP("192.168.1.1"), Port: 443, } fmt.Printf("IP: %s, Port: %d\n", addr.IP, addr.Port) }

Результат выполнения кода:

"IP: 192.168.1.1, Port: 443"

Метод Network

Метод Network возвращает имя сети, которое всегда равно "tcp", "tcp4" или "tcp6". Этот метод необходим для реализации интерфейса net.Addr.

package main import ( "fmt" "net" ) func main() { addr := &net.TCPAddr{ IP: net.ParseIP("192.168.1.1"), Port: 443, } fmt.Println(addr.Network()) }

Результат выполнения кода:

"tcp"

Метод String

Метод String возвращает строковое представление адреса в формате "ip:port". Для IPv6 адресов вывод будет в формате "[ipv6]:port". Этот метод также является частью интерфейса net.Addr.

package main import ( "fmt" "net" ) func main() { addr := &net.TCPAddr{ IP: net.ParseIP("192.168.1.1"), Port: 443, } fmt.Println(addr.String()) }

Результат выполнения кода:

"192.168.1.1:443"

Смотрите также

  • тип net.TCPConn,
    который представляет TCP-соединение
  • функцию net.Dial,
    которая устанавливает соединение по указанному адресу
  • функцию net.Listen,
    которая создает слушателя на указанном TCP-адресе
  • функцию net.SplitHostPort,
    которая разделяет строку адреса на хост и порт
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить