package main
import "fmt"
func removeElem(s []int, elem int) []int {
out := s[:0]
for _, val := range s {
if val != elem {
out = append(out, val)
}
}
return out
}
func deleteElem(s []int, elem int) []int {
size := len(s)
for i := 0; i < size; i++ {
if s[i] == elem {
s = append(s[:i], s[i+1:]...)
i--
size--
}
}
return s[:size]
}
func main() {
s := []int{1, 2, 3, 4, 5, 6, 6, 1}
elem := 6
fmt.Println("remove elem before:", s)
s1 := removeElem(s, elem)
fmt.Println("remove elem after:", s1)
s = []int{1, 2, 3, 4, 5, 6, 6, 1}
elem = 1
fmt.Println("delete elem before:", s)
s2 := deleteElem(s, elem)
fmt.Println("delete elem after", s2)
}