Go Package slices: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
Line 4: Line 4:
=Internal=
=Internal=
* [[Go_Language_Modularization#slices|Standard library]]
* [[Go_Language_Modularization#slices|Standard library]]
* [[Go_Slices#Sorting|Go Slices]]
* [[Go_Slices#The_slices_Package|Go Slices]]


=Overview=
=Overview=

Latest revision as of 03:23, 19 August 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.