```go
func (s *slice)remove(value interface{}) error {
for i, v := range *s {
if isequal(value, v) {
if i== len(*s) - 1 {
*s = (*s)[:i]
}else {
*s = append((*s)[:i],(*s)[i 2:]...)
}
return nil
}
}
return err_elem_nt_exist
}
```
```go
func (s *slice)remove(value interface{}) error {
for i, v := range *s {
if isequal(value, v) {
*s = append((*s)[:i],(*s)[i 1:])
return nil
}
}
return err_elem_nt_exist
}
```
```go
func (s *slice)remove(value interface{}) error {
for i, v := range *s {
if isequal(value, v) {
delete(*s, v)
return nil
}
}
return err_elem_nt_exist
}
```
```go
func (s *slice)remove(value interface{}) error {
for i, v := range *s {
if isequal(value, v) {
*s = append((*s)[:i],(*s)[i 1:]...)
return nil
}
}
return err_elem_nt_exist
}
```
正确答案是:d
正确率:80%
解析:
go 切片(slice) 是对 go array 的抽象。尽管数组似乎足够灵活,但它们具有固定长度的限制。无法增加数组的长度。切片克服了这个限制。