php小編香蕉將為大家介紹在Golang中刪除元素的方法。在Golang中,刪除元素的方法並不像其他程式語言那樣直接,但我們可以透過一些技巧來實現。在本文中,我們將探討幾種常用的方法,協助您在Golang中輕鬆刪除元素,提升程式效率。無論您是初學者還是有經驗的開發者,這些方法都將對您有所幫助。讓我們一起來了解吧!
我有一個簡單的程式碼,用於從切片中刪除元素:
package main import "fmt" func main() { values := []string{"1", "2", "3", "4", "5"} valuesresult := removeelementbyindex(values2, 0) fmt.printf("%v - %v\n", values, valuesresult) } func removeelementbyindex[t interface{}](a []t, i int) []t { return append(a[:i], a[i+1:]...) }
但是輸出是
[2 3 4 5 5] - [2 3 4 5]
由於某種原因 values
正在改變,但我沒有在我的方法中改變它(我猜)。請幫我解決這個問題
您確實更改了原始切片。如果附加操作的結果適合切片的容量,則 append
操作將使用原始切片。
如果您需要原始切片不變:
func removeElementByIndex[T interface{}](a []T, i int) []T { result := make([]T, len(a)-1) copy(result,a[:i]) copy(result[i:],a[i+1:]) return result }
以上是刪除元素方法在 Golang 中不起作用的詳細內容。更多資訊請關注PHP中文網其他相關文章!