
Some methods to make slice verifications in Golang easier.
Methods
Examples of Use
Include
package main
import "fmt"
import "github.com/lccezinha/sliceutils"
func main() {
var slice []int
slice = append(slice, 1, 2, 3)
expected := 1
result := sliceutils.Include(slice, expected)
fmt.Println(result)
}
// true
Any
package main
import "fmt"
import "github.com/lccezinha/gosliceutils"
func main() {
var slice []int
slice = append(slice, 1, 2, 3)
condition := func(item interface{}) bool {
return item.(int) >= 2
}
result := sliceutils.Any(slice, condition)
fmt.Println(result)
}
// true
None
package main
import "fmt"
import "github.com/lccezinha/gosliceutils"
func main() {
var slice []int
slice = append(slice, 1, 2, 3)
condition := func(item interface{}) bool {
return item.(int) >= 5
}
result := sliceutils.None(slice, condition)
fmt.Println(result)
}
// true
Collect
package main
import "fmt"
import "github.com/lccezinha/gosliceutils"
func main() {
var slice []interface{}
slice = append(slice, 1, 2, 3)
condition := func(item interface{}) bool {
return item.(int) >= 2
}
result := sliceutils.Collect(slice, condition)
fmt.Println(result)
}
// [2, 3]
Compact
package main
import "fmt"
import "github.com/lccezinha/gosliceutils"
func main() {
var slice []interface{}
slice = append(slice, 1, 2, 3, nil, 4, nil, 5)
result := sliceutils.Compact(slice)
fmt.Println(result)
}
// [1, 2, 3, 4, 5]
All
package main
import "fmt"
import "github.com/lccezinha/gosliceutils"
func main() {
var slice []interface{}
slice = append(slice, 1, 2, 3)
condition := func(item interface{}) bool {
return item.(int) > 0
}
result := sliceutils.All(slice, condition)
fmt.Println(result)
}
// true
Reject
package main
import "fmt"
import "github.com/lccezinha/gosliceutils"
func main() {
var slice []interface{}
slice = append(slice, 1, 2, 3)
condition := func(item interface{}) bool {
return item.(int) > 1
}
result := sliceutils.Reject(slice, condition)
fmt.Println(result)
}
// [1]