Довольно частая задача — получить от пользователя некое значение в виде строки и распарсить его несколько составных частей других типов. Например, нужно получить отдельно хост и порт некоего эндпоинта:

package main

import (
    "fmt"
    "strings"
)

func main() {
    s := strings.Split("myhost.com:5432", ":")
    ip, port := s[0], s[1]
    fmt.Println(ip, port)
}

Конкретно для этой задачи можно воспользоваться специализированным решением:

package main

import (
    "fmt"
    "net"
)

func main() {
    host, port, err := net.SplitHostPort("myhost.com:5432")
    fmt.Println(host, port, err)
}

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Любишь мемасики?

Подпишись на мой телеграм-канал!

Открыть
Закрыть