猿问

已声明但未使用的变量

我尝试了不同的策略,但无济于事。中的以下代码显示了声明但未用于 的变量,以及当它们在强制转换中使用时(最后 3 行代码):vscodeyearmonthday


var year, month, day int

year = -1

month = -1

day = -1

// Calculate Year Month Day

if eventCalendar == "gregorian" {

    s := strings.Split("eventDate", "/")

    year, err := strconv.Atoi(s[0])

    if err != nil {

        log.Fatal("Cannot convert year to integer: " + s[0] + ". " + err.Error())

    }

    month, err := strconv.Atoi(s[1])

    if err != nil {

        log.Fatal("Cannot convert month to integer: " + s[1] + ". " + err.Error())

    }

    day, err := strconv.Atoi(s[2])

    if err != nil {

        log.Fatal("Cannot convert day to integer: " + s[2] + ". " + err.Error())

    }

} else if eventCalendar == "jalali" {

    s := strings.Split("eventDate", "-")

    year, err := strconv.Atoi(s[0])

    if err != nil {

        log.Fatal("Cannot convert year to integer: " + s[0] + ". " + err.Error())

    }

    month, err := strconv.Atoi(s[1])

    if err != nil {

        log.Fatal("Cannot convert month to integer: " + s[1] + ". " + err.Error())

    }

    day, err := strconv.Atoi(s[2])

    if err != nil {

        log.Fatal("Cannot convert day to integer: " + s[2] + ". " + err.Error())

    }

    // TODO: Convert to gregorian

} else {

    panic("Unknown calendar type: eventcalendar")

}

strYear := strconv.Itoa(year)

strMonth := strconv.Itoa(month)

strDay := strconv.Itoa(day)

// ...其余代码


红颜莎娜
浏览 130回答 1
1回答

慕仙森

在 if 范围内创建名为“年”、“月”和“日”的新变量:year, err := strconv.Atoi(s[0])这就是问题所在。首先,将 a 添加到代码中,并从函数调用中删除冒号::=var err errorvar year, month, day intvar err erroryear = -1month = -1day = -1// ...    year, err = strconv.Atoi(s[0])    // ...我相信这应该可以解决您的问题。现在,您正在 if 范围内创建年、月和日,并且从不使用它们(在范围内)。
随时随地看视频慕课网APP

相关分类

Go
我要回答