從結構體中的切片中刪除元素
在 Go 中,結構體是字段的聚合,其中可以包含切片。當一個方法嘗試修改接收器(即結構體本身)時,它必須使用指標接收器來更新原始值而不是建立副本。
考慮以下程式碼:
此程式碼從「Guest」結構中的「friends」切片中刪除一個元素。但是,嘗試從原始結構中刪除元素會導致覆蓋所需元素並乘以最後一個元素,如範例所示:
要修正此問題,您必須使用指標接收器:
透過使用指標接收器,您可以將新切片值(由「append()」傳回)指派給原始切片的「friends」欄位「Guest」結構,有效地將切片長度減少1。
此外,建議使用更慣用的接收者名稱,例如“guest”或“g”,而不是“self”。
以上是如何從 Go 結構體中的切片中刪除元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!