- package main
- import (
- "fmt"
- "sort"
- )
- func main() {
- var a = []int{1, 2, 3, 4, 5, 6}
- var b = []int{2, 3, 4, 5, 6, 8, 9, 10}
- c := mergeArr(a, b)
- fmt.Println("合并后的数组为", c)
- d := uniqueArr(c)
- fmt.Println("去重后的数组为", d)
- e := ascArr(d)
- fmt.Println("升序后的数组为", e)
- f := descArr(e)
- fmt.Println("降序后的数组为", f)
- }
- // 合并数组
- func mergeArr(a, b []int) []int {
- var arr []int
- for _, i := range a {
- arr = append(arr, i)
- }
- for _, j := range b {
- arr = append(arr, j)
- }
- return arr
- }
- // 去重
- func uniqueArr(m []int) []int {
- d := make([]int, 0)
- tempMap := make(map[int]bool, len(m))
- for _, v := range m { // 以值作为键名
- if tempMap[v] == false {
- tempMap[v] = true
- d = append(d, v)
- }
- }
- return d
- }
- // 升序
- func ascArr(e []int) []int {
- sort.Ints(e[:])
- return e
- }
- // 降序
- func descArr(e []int) []int {
- sort.Sort(sort.Reverse(sort.IntSlice(e)))
- return e
- }
- 合并后的数组为 [1 2 3 4 5 6 2 3 4 5 6 8 9 10]
- 去重后的数组为 [1 2 3 4 5 6 8 9 10]
- 升序后的数组为 [1 2 3 4 5 6 8 9 10]
- 降序后的数组为 [10 9 8 6 5 4 3 2 1]