0

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

1 Answer 1

1

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).

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.