[英]How to get slice item using pointer to that slice
有一個整數切片和一個函數,該函數接受指向切片的指針作為參數。
mainSlice := []int{0,8,5,4,6,9,7,1,2,3,6,4,5,7}
doSmthWithSlice(mainSlice)
有什么方法可以使用指向切片的指針來獲取切片項目,但又無需將指針指向的值復制到新切片中?
func doSmthWithSlice(slcPtr *[]int) {
*slcPtr[3] = 777 // this does NOT works, because *[]int does not support indexing
// Don't want to implement it
// like this
newSlice := *slcPtr
newSlice[3] = 777
*slcPtr = newSlice
}
謝謝
PS
很抱歉問這種原始問題。 我是新手
操作順序很重要:您需要首先取消引用指針,然后對其進行索引。
func doSmthWithSlice(slPtr *[]int) {
(*slcPtr)[3] = 777
}
沒有括號,索引運算符將應用於切片指針; 無效的操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.