Go Package slices: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
Line 32: Line 32:
slices.Contains(s, "a") # also returns returns true
slices.Contains(s, "a") # also returns returns true
</syntaxhighlight>
</syntaxhighlight>
<font color=darkkhaki>However, IntelliJ does not like <code>slices.Contains(s, "a")</code> on some occasions, it seems that it wants <code>StringAlias("a")</code>, investigate.</font>

Latest revision as of 23:09, 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

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