GO объединяет строку с int - PullRequest
0 голосов
/ 23 июня 2019

У меня есть следующий код, который должен получить значение int и добавить его в строку с суффиксом строки. Э.Г.

В начале я получаю это

"fds data "

После оператора if это должно понравиться

"fds data 10 M"

Это код:

ltrCfg := "fds data "
if len(cfg.ltrSharedDicts) > 0 {
    ltrCfg += strconv.Itoa(cfg.ltrSharedDicts["c_data"])
    ltrCfg += "M"
} else {
    ltrCfg += "10M"
}
out = append(out, ltrCfg)

ltrCert := “fds data "
if len(cfg.ltrSharedDicts) > 0 {
    ltrCert += strconv.Itoa(cfg.ltrSharedDicts["d_data"])
    ltrCert += "M"
} else {
    ltrCert += “20M"
}
out = append(out, ltrCert)

Код работает, но мне интересно узнать первый ответ на оператор if

if len(cfg.ltrSharedDicts) > 0 {
    ltrCfg += strconv.Itoa(cfg.ltrSharedDicts["c_data"])
    ltrCfg += "M"

Есть ли лучший способ добиться этого?

1 Ответ

1 голос
/ 23 июня 2019

Для удобства чтения я бы написал:

cd, ok := cfg.ltrSharedDicts["c_data"]
if !ok {
    cd = 10
}
out = append(out, fmt.Sprintf("fds data %dM", cd))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...