これは些細な質問であれば私はそれを許して新しくなりました。私はポストのスライスを反復処理し、各ポストのViews
の値をインクリメントしたい:スライスの変更された値を関数から戻す方法は?
func incrementViews(posts []model.Post) []model.Post {
for _, v := range posts {
v.Views++
fmt.Println(v.Views) //Views incremented by 1
}
return posts
}
incrementViews(posts) //Views not changed
印刷された値が変更されますが、私はincrementViews(posts)
を呼び出したときに返される値は変更されませんされています。
私はこれを*
の&
で解決しようとしましたが、おそらく私がPythonの背景から来てポインタや値で変数を移動することを理解していないことが考えられます。
最初の方法でエラーが発生します: '[*] model.Postをタイプ[] * model.Postとして使用することはできません。incrementViewsの引数に投稿します。 – Karlom
@sahaj次に、2つのエラーが発生します。 ] * model.Post)をtype [] model.Post in return argument'として使用し、型[] * model.PostをincrementViewsの引数に入れて使用することはできません。 – Karlom
@Karlom私は信じていますあなたのコメントで礼儀正しくてください。再生例のリンクを追加しました。 – jeevatkm