Go Package slices

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

External

Internal

Overview

Sorting

Sort()

https://pkg.go.dev/slices#Sort

Sort() inplace sorts a slice of any ordered type in ascending order. When sorting floating-point numbers, NaNs are ordered before other values.

s := []int{0, 42, -10, 8}
slices.Sort(s)

Contains()

https://pkg.go.dev/slices#Contains
s := []int{0, 42, -10, 8}
slices.Contains(s, 0)

Contains() behavior in presence of alias types: Contains() will return true regardless of an instance of the alias type, or the original type is presented, assuming that the original instance type matches:

type StringAlias string

s := []StringAlias{StringAlias("a")}

slices.Contains(s, StringAlias("a")) # returns true
slices.Contains(s, "a") # also returns returns true

However, IntelliJ does not like slices.Contains(s, "a") on some occasions, it seems that it wants StringAlias("a"), investigate.