How to Filter Elements of an Array based on a Condition in Go - Step by Step Examples
How to Filter Elements of an Array based on a Condition in Go ?
Answer
To filter elements of an array based on a condition in Go, you can use a loop to iterate through the array and a conditional statement to check each element against the specified condition.
✐ Examples
1 Filter Even Numbers from an Integer Array
In this example,
- We define a function named
filterEvenNumbers
that takes an integer slicearr
as a parameter. - Inside the function, we create a new slice
result
to store the filtered elements. - We use a loop to iterate through each element in the array
arr
. - Within the loop, we use an
if
statement to check if the current element is even (i.e.,num % 2 == 0
). - If the condition is met, we append the element to the
result
slice. - After the loop completes, we return the
result
slice containing only the even numbers. - In the
main
function, we call thefilterEvenNumbers
function with a sample array and print the filtered result.
Go Program
package main
import "fmt"
func filterEvenNumbers(arr []int) []int {
result := []int{}
for _, num := range arr {
if num % 2 == 0 {
result = append(result, num)
}
}
return result
}
func main() {
arr := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
evenNumbers := filterEvenNumbers(arr)
fmt.Println("Filtered even numbers:", evenNumbers)
}
Output
Filtered even numbers: [2 4 6 8 10]
2 Filter Strings Containing a Specific Substring
In this example,
- We define a function named
filterStringsContaining
that takes a slice of stringsarr
and a substringsubstr
as parameters. - Inside the function, we create a new slice
result
to store the filtered elements. - We use a loop to iterate through each element in the array
arr
. - Within the loop, we use an
if
statement with thestrings.Contains
function to check if the current element contains the specified substring. - If the condition is met, we append the element to the
result
slice. - After the loop completes, we return the
result
slice containing only the strings that include the substring. - In the
main
function, we call thefilterStringsContaining
function with a sample array and substring, then print the filtered result.
Go Program
package main
import (
"fmt"
"strings"
)
func filterStringsContaining(arr []string, substr string) []string {
result := []string{}
for _, str := range arr {
if strings.Contains(str, substr) {
result = append(result, str)
}
}
return result
}
func main() {
arr := []string{"apple", "banana", "cherry", "date", "fig", "grape"}
filteredStrings := filterStringsContaining(arr, "a")
fmt.Println("Filtered strings containing 'a':", filteredStrings)
}
Output
Filtered strings containing 'a': [apple banana date grape]
Summary
In this tutorial, we learned How to Filter Elements of an Array based on a Condition in Go language with well detailed examples.
More Go Arrays Tutorials
- How to Declare an Array in Go ?
- How to Initialize an Array in Go ?
- How to Access Array Elements in Go ?
- How to Access Array Elements using Index in Go ?
- How to get First Element in Array in Go ?
- How to get Last Element in Array in Go ?
- How to check if an Array is Empty in Go ?
- How to check if an Array is Not Empty in Go ?
- How to get Sub Array in Go ?
- How to Get Array Length in Go ?
- How to Iterate Over an Array in Go ?
- How to Iterate Over an Array in Reverse Order in Go ?
- How to get the Index of Specified Element in an Array in Go ?
- How to check if Specified Element is present in the Array in Go ?
- How to count the Number of Occurrences of Specified Element in the Array in Go ?
- How to Sort an Array in Go ?
- How to Sort an Array in Ascending Order in Go ?
- How to Sort an Array in Descending Order in Go ?
- How to create a Two Dimensional Array in Go ?
- How to Iterate over a Two Dimensional Array in Go ?
- How to create a Three Dimensional Array in Go ?
- How to Copy an Array in Go ?
- How to Split an Array in Go ?
- How to Join Arrays in Go ?
- How to check if Two Arrays are Equal in Go ?
- How to check if Two Arrays have Same Elements (Regardless of Order) in Go ?
- How to Convert an Array of Integers to an Array of Strings in Go ?
- How to Convert an Array of Strings to an Array of Integers in Go ?
- How to Reverse an Array in Go ?
- How to Shuffle an Array in Go ?
- How to Rotate Elements in an Array in Go ?
- How to Filter Elements of an Array based on a Condition in Go ?
- How to Declare an Integer Array in Go ?
- How to Declare a Float Array in Go ?
- How to Declare a String Array in Go ?
- How to Remove Duplicates in an Array in Go ?
- How to Remove Specific Element from an Array in Go ?
- How to Remove Element from Array based on a Condition in Go ?
- How to Sort a String Array in Dictionary Order in Go ?
- How to Concatenate Strings in Array in Go ?