Go Package slices: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 21: Line 21:
s := []int{0, 42, -10, 8}
s := []int{0, 42, -10, 8}
slices.Contains(s, 0)
slices.Contains(s, 0)
</syntaxhighlight>
<code>Contains()</code> behavior in presence of alias types: <code>Contains()</code> will return <code>true</code> regardless of an instance of the alias type, or the original type is presented, assuming that the original instance type matches:
<syntaxhighlight lang='go'>
type StringAlias string
s := []StringAlias{StringAlias("a")}
slices.Contains(s, StringAlias("a")) # returns true
slices.Contains(s, "a") # also returns returns true
</syntaxhighlight>
</syntaxhighlight>

Revision as of 23:03, 26 April 2024

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