简体   繁体   中英

variable declared but not used

I have tried different strategies to no avail. Following code in vscode shows variable declared but not used for year , month and day while they are used in casting (last 3 lines of code):

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)

//... rest of code

You create new variables inside your if-scopes called year, month, and day:

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

The := is the problem here. At the beginning add a var err error to your code and remove the colon from your function calls:

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

I believe this should fix your problem. Right now you are creating year, month, and day in the if-scope and never use them (inside the scope).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM