go.charczuk.com@v0.0.0-20240327042549-bc490516bd1a/sdk/iter/filter.go (about) 1 /* 2 3 Copyright (c) 2023 - Present. Will Charczuk. All rights reserved. 4 Use of this source code is governed by a MIT license that can be found in the LICENSE file at the root of the repository. 5 6 */ 7 8 package iter 9 10 // Filter returns a filtered version of the list. 11 func Filter[T any](l []T, predicate func(T) bool) (output []T) { 12 output = make([]T, 0, len(l)) 13 for _, i := range l { 14 if predicate(i) { 15 output = append(output, i) 16 } 17 } 18 return 19 }