go 切片操作

package main

import "fmt"

func main() {
	arr0 := []int{7,8,9}
	arr0 = append(arr0, 1)
	arr0 = append(arr0, 2)
	arr0 = append(arr0, 3)

	arr0 = append(arr0, arr0...)

	for i, m := range arr0 {
		fmt.Println(i, "=>", m)
	}

	arr0 = del_item(3, arr0)

	fmt.Println(arr0)

}

//删除切片的第i个元素,i从0开始, 返回新的切片
func del_item(i int, arr []int) []int {

	count := len(arr)
	//切片为空则直接返回
	if count == 0 {

		return arr
	}

	//i小于0就删第0个元素
	if 1 < 0 {
		i = 0
	}

	//传的i超出切片界限就删最后一个元素
	if i > count-1 {
		i = count - 1
		//	return arr[:count-1]
	}
	fmt.Println("删除第", i, "位的元素(首位是第0位)")
	return append(arr[:i], arr[i+1:]...)

}

  

posted @ 2022-05-02 20:44  wsh3166Sir  阅读(37)  评论(0编辑  收藏  举报