go特殊字符串排序

package main

import (
    "errors"
    "fmt"
    "regexp"
    "sort"
    "strconv"
    "strings"
)

func SortStrSliceone(newestslice *[]string)(error){
    //
    slicelen := len(*newestslice)
    if slicelen == 1 {
        return nil
    }
    intpattern := regexp.MustCompile(`\d+`)
    var helpmap = make(map[int]string,slicelen)
    var tmpintslice = make([]int,0)

    for _,eveline := range *newestslice{
        reveslice := intpattern.FindAllString(eveline,-1)
        evestr := strings.Join(reveslice,"")
        eveint,err := strconv.Atoi(evestr)
        if err != nil{
            return errors.New("版本中存在分整数信息")
        }
        fmt.Println(eveint)
        tmpintslice=append(tmpintslice,eveint)
        _,ok := helpmap[eveint];if !ok{
            helpmap[eveint]=eveline
        }
    }
    sort.Ints(tmpintslice)
    fmt.Println(tmpintslice)
    fmt.Println(helpmap)
    return nil
}

func fivearrcompare(arr,brr [5]int)(bool){
    var inncomfunc func(int)(bool)
    inncomfunc = func(num int)(bool){
        if num > 4{
            return false
        }else if num <= 4{
            switch  {
            case arr[num] > brr[num]:
                return true
            case arr[num] < brr[num]:
                return false
            case arr[num] == brr[num]:
                return inncomfunc(num + 1)
            }
        }
        return false
    }
    res := inncomfunc(0)
    return res
}

func SortStrSlicetwo(newestslice *[]string)(error){
    //
    slicelen := len(*newestslice)
    if slicelen == 1 {
        return nil
    }

    var arrmap = make(map[[5]int]string)
    var needslice = make([][5]int,0)
    for _,eveline := range *newestslice{
        var tmparr = [5]int{}
        eveslice := strings.Split(eveline,"_")
        for i:=0;i

你可能感兴趣的:(go特殊字符串排序)