首頁 > 後端開發 > Golang > 如何從 Go 結構體中的切片中刪除元素?

如何從 Go 結構體中的切片中刪除元素?

Patricia Arquette
發布: 2024-11-14 16:29:02
原創
536 人瀏覽過

How to Remove Elements from a Slice Within a Struct in Go?

從結構體中的切片中刪除元素

在 Go 中,結構體是字段的聚合,其中可以包含切片。當一個方法嘗試修改接收器(即結構體本身)時,它必須使用指標接收器來更新原始值而不是建立副本。

考慮以下程式碼:

此程式碼從「Guest」結構中的「friends」切片中刪除一個元素。但是,嘗試從原始結構中刪除元素會導致覆蓋所需元素並乘以最後一個元素,如範例所示:

要修正此問題,您必須使用指標接收器:

透過使用指標接收器,您可以將新切片值(由「append()」傳回)指派給原始切片的「friends」欄位「Guest」結構,有效地將切片長度減少1。

此外,建議使用更慣用的接收者名稱,例如“guest”或“g”,而不是“self”。

以上是如何從 Go 結構體中的切片中刪除元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板