Some numbers are odd. Others are even. We can use modulo division to tell whether a number is divisible by two. This tells us the parity of a number.
To tell if a number is even, we see if it is evenly divisible by 2. But to tell if it is odd, we must allow a remainder of either 1 or -1. A negative number may be odd.
This program introduces the Even and Odd funcs. We test Even()
and Odd()
in the main method. Both methods return a bool
.
Odd()
in terms of Even. Every integer that is not Even is Odd.package main import "fmt" func Even(number int) bool { return number%2 == 0 } func Odd(number int) bool { // Odd should return not even. // ... We cannot check for 1 remainder. // ... That fails for negative numbers. return !Even(number) } func main() { for i := -4; i <= 4; i++ { // Test the even func. fmt.Printf("Number: %v, Even: %v", i, Even(i)) fmt.Println() } // Test the odd method. if Odd(1) { fmt.Println("ok") } }Number: -4, Even: true Number: -3, Even: false Number: -2, Even: true Number: -1, Even: false Number: 0, Even: true Number: 1, Even: false Number: 2, Even: true Number: 3, Even: false Number: 4, Even: true ok
In the math package, I found no methods that reveal the parity of numbers. So a simple method that tells us this can be useful in quick Go programs.
In general, using built-in methods from the "math" package is the best choice. So it is worthwhile to check that no existing math methods are available.