-
Notifications
You must be signed in to change notification settings - Fork 154
Open
Description
Is that how it should be? Are there any other well-known libraries for such cases?
import (
"fmt"
"sort"
"github.com/hashicorp/go-version"
)
func Sort(versionsRaw []string) []*version.Version {
versions := make([]*version.Version, len(versionsRaw))
for i, raw := range versionsRaw {
v, _ := version.NewSemver(raw)
versions[i] = v
}
sort.Sort(version.Collection(versions))
return versions
}
func main() {
fmt.Println(Sort([]string{"v0.0.2-rc5", "v0.0.2-rc9",})) // [0.0.2-rc5 0.0.2-rc9]
fmt.Println(Sort([]string{"v0.0.2-rc10", "v0.0.2-rc9",})) // [0.0.2-rc10 0.0.2-rc9]
fmt.Println(Sort([]string{"v0.10.3-ps.v5", "v0.10.3-ps.v9",})) // [0.10.3-ps.v5 0.10.3-ps.v9]
fmt.Println(Sort([]string{"v0.10.3-ps.v10", "v0.10.3-ps.v9",})) // [0.10.3-ps.v10 0.10.3-ps.v9]
}
Metadata
Metadata
Assignees
Labels
No labels