go 切片删除某个元素

package main

import "fmt"

func delete(s []int, num int) []int {
	for i := 0; i < len(s); i++ {
		if s[i] == num {
			s = append(s[:i], s[i+1:]...)
			i--
		}
	}
	return s
}

func main() {
	s := []int{1, 2, 3, 4, 5}
	delete(s, 1)
	fmt.Println(s)

	s = []int{1, 2, 3, 4, 5}
	s = delete(s, 1)
	fmt.Println(s)
	s = delete(s, 5)
	fmt.Println(s)
	s = delete(s, 3)
	fmt.Println(s)

	s = []int{1, 1, 1, 1, 1}
	fmt.Println(delete(s, 1))

	s = []int{1, 2, 2, 1, 1}
	fmt.Println(delete(s, 2))

	s = []int{1, 2, 2, 1, 1}
	fmt.Println(delete(s, 1))
}

 

[2 3 4 5 5]
[2 3 4 5]
[2 3 4]
[2 4]
[]
[1 1 1]
[2 2]

 

posted on 2025-07-12 17:31  王景迁  阅读(11)  评论(0)    收藏  举报

导航