2017-11-25 4 views
0

私はここでポインタ配列appendを使ってslice要素を削除するには?

からいくつかの構造体の要素を削除するには、私の構造体

type User struct{ 
    userName string 
    userId int 
} 

であると私はそのような項目を削除しようとしているメートル。

allUser []*User 
------------ 
------------ 
------------ 
func RemoveUser(deletedUser *User) { 
    for ii := 0; ii < len(allUser); ii++ { 
     if allUser[ii] == deletedUser { 
      allUser = append(allUser[:ii], allUser[ii+1:]) 
     } 
    } 
} 

このエラーが発生しています。 (最後の引数が割り当て可能である場合

答えて

3

The Go Programming Language Specification

Passing arguments to ... parameters

私のせいです何追記 でタイプとして[] *ユーザー*ユーザーを入力します。 はALLUSER [II + 1]を使用することはできませんスライスタイプ[]Tに変更すると、 の後にの値が変更され、 の後に...が続き、...Tの値に変更されないことがあります。


append可変引数関数です。スライスを追加するには、...を追加する必要があります。

allUser = append(allUser[:ii], allUser[ii+1:]...) 
+0

ahhhmg。どうもありがとう –

関連する問題