如何從用戶定義結構的用戶定義切片中刪除用戶定義結構?像這樣的東西:type someStruct struct { someOtherStruct *typeOfOtherStruct someInt int someString string}var someStructs []someStructfunc someFunc(ss someStruct, ssSlice someStructs) { // .. want to remove ss from ssSlice}我可能應該循環直到找到索引,然后將其刪除。但是我如何比較結構?
1 回答

吃雞游戲
TA貢獻1829條經驗 獲得超7個贊
您找到該元素并制作一個減去該索引的新切片。
package main
import "fmt"
type someStruct struct {
someInt int
someString string
}
func removeIt(ss someStruct, ssSlice []someStruct) []someStruct {
for idx, v := range ssSlice {
if v == ss {
return append(ssSlice[0:idx], ssSlice[idx+1:]...)
}
}
return ssSlice
}
func main() {
someStructs := []someStruct{
{1, "one"},
{2, "two"},
{3, "three"},
}
fmt.Println("Before:", someStructs)
someStructs = removeIt(someStruct{2, "two"}, someStructs)
fmt.Println("After:", someStructs)
}
- 1 回答
- 0 關注
- 289 瀏覽
添加回答
舉報
0/150
提交
取消