问题:数字字母组合的字符串切片排序。

错误的情况举例

numbersSource := []string{"d10", "d20", "d1", "d3", "d8", "d46", "d0"}

sort.Strings(numbersSource)

fmt.Println(numbersSource)

// Output:

//[d0 d1 d10 d20 d3 d46 d8]

解决方法。把字符串的长度补齐成统一长度,具体操作如下:

numbers := []string{"d10", "d20", "d01", "d03", "d08", "d46", "d00"}

sort.Strings(numbers)

fmt.Println(numbers)

// Output:

//[d00 d01 d03 d08 d10 d20 d46]

以上的是方法之一。具体情况具体分析。