Write a Go Program to Find Largest and Smallest Number in an Array using For loop. First, we assigned the first array item to both the largest and smallest value (largest := lgsmArr[0] and smallest := lgsmArr[0]). Within the for loop (for i = 0; i < lgsmsize; i++), we used two if conditions. The first one (if largest < lgsmArr[i]) finds the largest array item and its index position. The second if statement (if smallest > lgsmArr[i]) finds the smallest array number and its index position.
package main import "fmt" func main() { var lgsmsize, i, minPosition, maxPosition int fmt.Print("Enter the Array Size to find Smallest & Largest = ") fmt.Scan(&lgsmsize) lgsmArr := make([]int, lgsmsize) fmt.Print("Enter the Array Items = ") for i = 0; i < lgsmsize; i++ { fmt.Scan(&lgsmArr[i]) } largest := lgsmArr[0] smallest := lgsmArr[0] for i = 0; i < lgsmsize; i++ { if largest < lgsmArr[i] { largest = lgsmArr[i] maxPosition = i } if smallest > lgsmArr[i] { smallest = lgsmArr[i] minPosition = i } } fmt.Println("\nThe Largest Number in this lgsmArr = ", largest) fmt.Println("The Index Position of Largest Number = ", maxPosition) fmt.Println("\nThe Smallest Number in this lgsmArr = ", smallest) fmt.Println("The Index Position of Smallest Number = ", minPosition) }
Enter the Array Size to find Smallest & Largest = 5
Enter the Array Items = 20 80 70 10 60
The Largest Number in this lgsmArr = 80
The Index Position of Largest Number = 1
The Smallest Number in this lgsmArr = 10
The Index Position of Smallest Number = 3
Go Program to Find Largest and Smallest Number in an Array using For Loop Range
package main import "fmt" func main() { var lgsmsize, i, minPosition, maxPosition int fmt.Print("Enter the Array Size to find Smallest & Largest = ") fmt.Scan(&lgsmsize) lgsmArr := make([]int, lgsmsize) fmt.Print("Enter the Array Items = ") for i = 0; i < lgsmsize; i++ { fmt.Scan(&lgsmArr[i]) } largest := lgsmArr[0] smallest := lgsmArr[0] for i, lgsm := range lgsmArr { if largest < lgsm { largest = lgsm maxPosition = i } if smallest > lgsm { smallest = lgsm minPosition = i } } fmt.Println("\nThe Largest Number in this lgsmArr = ", largest) fmt.Println("The Index Position of Largest Number = ", maxPosition) fmt.Println("\nThe Smallest Number in this lgsmArr = ", smallest) fmt.Println("The Index Position of Smallest Number = ", minPosition) }

In this Golang program, we created two separate functions that return the largest (larestNum(lgsmArr []int)) and smallest (smallestNum(lgsmArr []int)) numbers within a given array and their index positions.
package main import "fmt" var largest, minPosition, maxPosition, smallest int func larestNum(lgsmArr []int) (int, int) { largest = lgsmArr[0] for i, lg := range lgsmArr { if largest < lg { largest = lg maxPosition = i } } return largest, maxPosition } func smallestNum(lgsmArr []int) (int, int) { smallest = lgsmArr[0] for i, sm := range lgsmArr { if smallest > sm { smallest = sm minPosition = i } } return smallest, minPosition } func main() { var lgsmsize, i, minPosition, maxPosition int fmt.Print("Enter the Array Size to find Smallest & Largest = ") fmt.Scan(&lgsmsize) lgsmArr := make([]int, lgsmsize) fmt.Print("Enter the Array Items = ") for i = 0; i < lgsmsize; i++ { fmt.Scan(&lgsmArr[i]) } largest, maxPosition = larestNum(lgsmArr) smallest, minPosition = smallestNum(lgsmArr) fmt.Println("\nThe Largest Number in this lgsmArr = ", largest) fmt.Println("The Index Position of Largest Number = ", maxPosition) fmt.Println("\nThe Smallest Number in this lgsmArr = ", smallest) fmt.Println("The Index Position of Smallest Number = ", minPosition) }
Enter the Array Size to find Smallest & Largest = 8
Enter the Array Items = 10 30 70 9 33 89 120 14
The Largest Number in this lgsmArr = 120
The Index Position of Largest Number = 6
The Smallest Number in this lgsmArr = 9
The Index Position of Smallest Number = 3