Go 1.21

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package main

import (
"cmp"
"fmt"
"slices"
)

func main() {
x, y, z := 3, 2, 1
fmt.Println("min: ", min(x, y, z))
fmt.Println("max: ", max(x, y, z))

arr := []int{1, 3, 4, 5, 6, 7, 2, 1, 3}
fmt.Println("min in arr: ", slices.Min(arr))
fmt.Println("max in arr: ", slices.Max(arr))

clear(arr)
fmt.Println("arr afetr clear: ", arr, cap(arr), len(arr))

mp := make(map[string]int)
mp["hello"] = 1
mp["world"] = 2
clear(mp)
fmt.Println("mp afetr clear: ", mp, len(mp))

strs := []string{"hello", "world", "made", "in", "china"}
fmt.Println(slices.Contains(strs, "china"))
slices.SortFunc(strs, func(a, b string) int {
return cmp.Compare(len(a), len(b))
})
fmt.Println("sort by len: ", strs)

}