github.com/lccezinha/goarrayutils

A bunch of methods to make slice verifications in golang easier.


Keywords
golang, package, slice-verifications
License
MIT
Install
go get github.com/lccezinha/goarrayutils

Documentation

Build Status

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)

  callback := func(item interface{}) bool {
    return item.(int) >= 2
  }

  result := sliceutils.Any(slice, callback)

  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)

  callback := func(item interface{}) bool {
    return item.(int) >= 5
  }

  result := sliceutils.None(slice, callback)

  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)

  callback := func(item interface{}) bool {
    return item.(int) >= 2
  }

  result := sliceutils.Collect(slice, callback)

  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)

  callback := func(item interface{}) bool {
    return item.(int) > 0
  }

  result := sliceutils.All(slice, callback)

  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)

  callback := func(item interface{}) bool {
    return item.(int) > 1
  }

  result := sliceutils.Reject(slice, callback)

  fmt.Println(result)
}

// [1]