【问题标题】:variable declared but not used已声明但未使用的变量
【发布时间】:2021-01-12 11:48:39
【问题描述】:

我尝试了不同的策略都无济于事。 vscode 中的以下代码显示了已声明但未用于 yearmonthday 的变量,而它们用于强制转换(最后 3 行代码):

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)

// ...其余代码

【问题讨论】:

    标签: go variables casting


    【解决方案1】:

    您在 if 范围内创建称为年、月和日的新变量:

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

    := 是这里的问题。在代码开头添加var err error 并从函数调用中删除冒号:

    var year, month, day int
    var err error
    year = -1
    month = -1
    day = -1
    // ...
        year, err = strconv.Atoi(s[0])
        // ...
    

    我相信这应该可以解决您的问题。现在您在 if 范围内创建年、月和日,并且从不使用它们(在范围内)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-21
      • 2010-12-15
      • 1970-01-01
      • 1970-01-01
      • 2018-03-11
      • 1970-01-01
      相关资源
      最近更新 更多