我有以下代码,需要获取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"

有没有更好的方法来实现呢?

最佳答案

为了提高可读性,我会写:

cd, ok := cfg.ltrSharedDicts["c_data"]
if !ok {
    cd = 10
}
out = append(out, fmt.Sprintf("fds data %dM", cd))

07-24 09:20