💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
### 常用库 #### 切片 go通过切片模拟栈和队列 栈 ``` package main func main() { stack := make([]int, 0) stack = append(stack, 10) v := stack[len(stack) - 1] stack = stack[:len(stack) - 1] empty := len(stack) == 0 println(v, empty) } ``` 队列 ``` package main func main() { queue := make([]int, 0) queue = append(queue, 10); v := queue[0]; queue = queue[1:] empty := len(queue) == 0 println(v, empty) } ``` #### 字典 基本用法 ``` package main func main() { m := make(map[string]int) m["hello"] = 1 for k, v := range m { println(k, v) } delete(m, "hello") for k, v := range m { println(k, v) } } ``` 注意点: * map键需要可比较,不能为slice,map,function * map值都有默认值,可以直接操作默认值,如m[age]++的值由0变为1 * 比较两个map需要遍历,其中的kv是否相同,因为有默认值关系,*所以需要检查val和ok两个值 疑问? #### 标准库 sort ``` package main import ( "fmt" "sort" ) func main() { a := []int{3, 5, 4, -1, 9} sort.Ints(a) fmt.Println(a) ss := []string{"surface", "ipad", "thinkpad"} sort.Strings(ss) fmt.Println(ss) // 自定义排序 s := []int{3, 5, 4, -1, 9} sort.Slice(s, func(i, j int) bool { return s[i] > s[j]; }) fmt.Println(s) } ```