How to check Leap year or not in Golang with example

In this blog post, We will write a program to check whether a given year is a leap year or not.

How do you check if the year is a leap year or not?

  1. if the year is divisible by 4, check step 2, else go to step 5
  2. if the year is divisible by 100, check step 3 else go to step 4
  3. if the year is divisible by 400, check step 4, else go to step 5
  4. Then the year is leap year which has 366 days
  5. This is not leap year which has 365 days

Finally, if the year meets all the above conditions, Then it is a Leap year.

Example program to check given year is a leap year or not

go language provides the following features.

Following is an example code.

package main

import (
    "fmt"
)

func isLeapYear(year int) bool {
    leapFlag: = false
    if year % 4 == 0 {
        if year % 100 == 0 {
            if year % 400 == 0 {
                leapFlag = true
            } else {
                leapFlag = false
            }
        } else {
            leapFlag = true
        }
    } else {
        leapFlag = false
    }
    return leapFlag
}
func main() {
    bool: = isLeapYear(1980)
    bool1: = isLeapYear(2001)
    fmt.Println(" 1980 leap year?:", bool)
    fmt.Println(" 2001 leap year?:", bool1)

}

The above program is compiled and the output is

1980 leap year?: true
2001 leap year?: false

In the above program, Created a function isLeapYear which accepts parameter year of type int and returns true, if it is a leap year, else false - if not leap year

Since 1980 is divisible by 4 and not divisible by 100, and 1980 is a leap year. But 2011 is not divisible by 4, so 2001 is not a leap year.

Finally,display the Boolean value to the console using the Println() function.