我尝试了不同的策略,但无济于事。中的以下代码显示了声明但未用于 的变量,以及当它们在强制转换中使用时(最后 3 行代码):vscodeyearmonthdayvar year, month, day intyear = -1month = -1day = -1// Calculate Year Month Dayif 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)// ...其余代码
1 回答
慕仙森
TA贡献1827条经验 获得超7个赞
在 if 范围内创建名为“年”、“月”和“日”的新变量:
year, err := strconv.Atoi(s[0])
这就是问题所在。首先,将 a 添加到代码中,并从函数调用中删除冒号::=var err error
var year, month, day int
var err error
year = -1
month = -1
day = -1
// ...
year, err = strconv.Atoi(s[0])
// ...
我相信这应该可以解决您的问题。现在,您正在 if 范围内创建年、月和日,并且从不使用它们(在范围内)。
- 1 回答
- 0 关注
- 129 浏览
添加回答
举报
0/150
提交
取消