How to Find the Minimum and Maximum Element in an Array Using Go Language?

Here are two ways to find the minimum and maximum element in an array using Go language:

1. Using loops:

package main

import (
"fmt"
)
func findMinMax(arr []int) (int, int) {
if len(arr) == 0 {
return 0, 0 // Handle empty array case
}
min := arr[0]
max := arr[0]
for i := 1; i < len(arr); i++ {
if arr[i] < min {
min = arr[i]
}
if arr[i] > max {
max = arr[i]
}
}
return min, max
}
func main() {
arr := []int{3, 1, 4, 2, 5}
min, max := findMinMax(arr)
fmt.Printf("Minimum element: %d, Maximum element: %d\n", min, max)
}

This code defines a function `findMinMax` that takes an integer array as input and returns the minimum and maximum elements. It iterates through the array and compares each element with the current minimum and maximum values, updating them if necessary.

2. Using built-in functions:

package main

import (
"fmt"
"math"
)
func main() {
arr := []int{3, 1, 4, 2, 5}
min := math.MinInt(arr...) // Unpack the slice using ...
max := math.MaxInt(arr...)
fmt.Printf("Minimum element: %d, Maximum element: %d\n", min, max)
}

This code utilizes the built-in functions `math.MinInt` and `math.MaxInt` to find the minimum and maximum values in the array, respectively. These functions accept an arbitrary number of integers as arguments using the `…` operator to unpack the slice elements.

Both methods achieve the same goal but differ in approach. The first method offers more flexibility for custom logic, while the second method is more concise and efficient for basic min/max operations.