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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
//删除 func remove(slice []interface{}, i int) []interface{} { // copy(slice[i:], slice[i+1:]) // return slice[:len(slice)-1] return append(slice[:i], slice[i+1:]...) } //新增 func add(slice []interface{}, value interface{}) []interface{} { return append(slice, value) } // 插入尽量不要采用make新变量+append的方式,效率很低 //插入1 func insert(slice *[]interface{}, index int, value interface{}) { rear := append([]interface{}{}, (*slice)[index:]...) *slice = append(append((*slice)[:index], value), rear...) } // 插入2 func insert(slice []interface{}, index int, value interface{}) { rear := append([]interface{}{}, slice[index : ]...) slice = append(slice[0 : index], value) slice = append(slice, rear...) return slice } //修改 func update(slice []interface{}, index int, value interface{}) { slice[index] = value } //查找 func find(slice []interface{}, index int) interface{} { return slice[index] } //清空slice func empty(slice *[]interface{}) { // *slice = nil *slice = append([]interface{}{}) } //遍历 func list(slice []interface{}) { for _, v := range slice { fmt.Printf("%d ", v) } } |