sort

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 23, 2024 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package sort provides basic support for sorting slices of optional.Optional.

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func Asc

func Asc[T cmp.Ordered](opts []optional.Optional[T])

Asc sorts the given slice using optional.Compare in ascending order.

Example (Int)
opts := []optional.Optional[int]{optional.Of(0), optional.Of(123), optional.Empty[int]()}
Asc(opts)
example.PrintSlice(opts)
Output:

[<empty> 0 123]
Example (String)
opts := []optional.Optional[string]{optional.Of(""), optional.Of("abc"), optional.Empty[string]()}
Asc(opts)
example.PrintSlice(opts)
Output:

[<empty> "" "abc"]

func Desc

func Desc[T cmp.Ordered](opts []optional.Optional[T])

Desc sorts the given slice using optional.Compare in descending order.

Example (Int)
opts := []optional.Optional[int]{optional.Of(0), optional.Of(123), optional.Empty[int]()}
Desc(opts)
example.PrintSlice(opts)
Output:

[123 0 <empty>]
Example (String)
opts := []optional.Optional[string]{optional.Of(""), optional.Of("abc"), optional.Empty[string]()}
Desc(opts)
example.PrintSlice(opts)
Output:

["abc" "" <empty>]

func IsAsc

func IsAsc[T cmp.Ordered](opts []optional.Optional[T]) bool

IsAsc returns whether the given slice is sorted using optional.Compare in ascending order.

Example (Int)
fmt.Println(IsAsc(([]optional.Optional[int])(nil)))
fmt.Println(IsAsc([]optional.Optional[int]{optional.Of(0), optional.Of(123), optional.Empty[int]()}))
fmt.Println(IsAsc([]optional.Optional[int]{optional.Empty[int](), optional.Of(0), optional.Of(123)}))
Output:

true
false
true
Example (String)
fmt.Println(IsAsc(([]optional.Optional[string])(nil)))
fmt.Println(IsAsc([]optional.Optional[string]{optional.Of(""), optional.Of("abc"), optional.Empty[string]()}))
fmt.Println(IsAsc([]optional.Optional[string]{optional.Empty[string](), optional.Of(""), optional.Of("abc")}))
Output:

true
false
true

func IsDesc

func IsDesc[T cmp.Ordered](opts []optional.Optional[T]) bool

IsDesc returns whether the given slice is sorted using optional.Compare in descending order.

Example (Int)
fmt.Println(IsDesc(([]optional.Optional[int])(nil)))
fmt.Println(IsDesc([]optional.Optional[int]{optional.Of(0), optional.Of(123), optional.Empty[int]()}))
fmt.Println(IsDesc([]optional.Optional[int]{optional.Of(123), optional.Of(0), optional.Empty[int]()}))
Output:

true
false
true
Example (String)
fmt.Println(IsDesc(([]optional.Optional[string])(nil)))
fmt.Println(IsDesc([]optional.Optional[string]{optional.Of(""), optional.Of("abc"), optional.Empty[string]()}))
fmt.Println(IsDesc([]optional.Optional[string]{optional.Of("abc"), optional.Of(""), optional.Empty[string]()}))
Output:

true
false
true

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL