Функция net.JoinHostPort
Функция net.JoinHostPort объединяет хост и порт в одну строку адреса,
которая может быть использована для сетевых соединений. В первый параметр
мы передаем хост (имя хоста или IP-адрес), во второй параметр мы передаем
порт (номер порта или имя сервиса). Функция автоматически обрабатывает
форматирование в зависимости от того, является ли хост IPv4 или IPv6 адресом.
Синтаксис
net.JoinHostPort(host, port)
Пример
Давайте объединим хост и порт для IPv4 адреса:
package main
import (
"fmt"
"net"
)
func main() {
host := "192.168.1.1"
port := "8080"
addr := net.JoinHostPort(host, port)
fmt.Println(addr)
}
Результат выполнения кода:
"192.168.1.1:8080"
Пример
Давайте объединим хост и порт для IPv6 адреса:
package main
import (
"fmt"
"net"
)
func main() {
host := "2001:0db8:85a3:0000:0000:8a2e:0370:7334"
port := "443"
addr := net.JoinHostPort(host, port)
fmt.Println(addr)
}
Результат выполнения кода:
"[2001:0db8:85a3:0000:0000:8a2e:0370:7334]:443"
Пример
Давайте объединим хост и порт, используя имя хоста и имя сервиса:
package main
import (
"fmt"
"net"
)
func main() {
host := "google.com"
port := "https"
addr := net.JoinHostPort(host, port)
fmt.Println(addr)
}
Результат выполнения кода:
"google.com:https"
Пример
Давайте объединим хост и порт, используя пустой хост (локальный хост):
package main
import (
"fmt"
"net"
)
func main() {
host := ""
port := "8000"
addr := net.JoinHostPort(host, port)
fmt.Println(addr)
}
Результат выполнения кода:
":8000"
Смотрите также
-
функцию
net.SplitHostPort,
которая разделяет строку адреса на хост и порт -
функцию
net.Dial,
которая устанавливает сетевое соединение -
функцию
net.DialTimeout,
которая устанавливает сетевое соединение с таймаутом -
функцию
net.ParseIP,
которая проверяет корректность IP-адреса