Aside from my punny acronym, this library is to have a collection of custom applications of the sort package and other sorting algorithms.
To prevent mutations of the original slice, I created a package that returns a new sorted or reverse sorted slice.
Example
package main
import (
"fmt"
csgo "github.com/cpustejovsky/customsortgo/pure"
)
func main() {
list := []string{"cat", "albatross", "dolphin", "bee", "zebra", "aardvark"}
sorted := csgo.NewSortedStrings(list)
fmt.Println(list) // [cat albatross dolphin bee zebra aardvark]
fmt.Println(sorted) // [aardvark albatross bee cat dolphin zebra]
}