Go語言中如何在range迴圈中修改陣列 切片內容

2021-10-18 04:48:44 字數 664 閱讀 2651

在go語言中,我們經常會使用到range來幫助我們遍歷一些資料,通常情況下都是檢視操作多一些,但是當我們需要對其原位址上的內容進行變更時,通常都是使用 for i:=0; i讓資料結構中的元素都儲存為指標型別,這樣在進行修改的時候,就是對位址上的值進行修改,畢竟指標就是乙個位址,拷貝出來的指標仍然指向同一塊空間。

type person struct

func

main()

,,,}

for_

, p :=

range persons

}for

_, p :=

range persons

}

輸出為:

&&&

&

通過range的第乙個返回索引值,來進行方括號修改

type person struct

func

main()

,,,}

for i, p :=

range persons

}for

_, p :=

range persons

}

輸出為:

Go語言中Range的使用

go 語言中 range 關鍵字用於 for 迴圈中迭代陣列 array 切片 slice 通道 channel 或集合 map 的元素。在陣列和切片中它返回元素的索引和索引對應的值,在集合中返回 key value 對。package main import fmt func main sum 0...

Go語言 range關鍵字迴圈迭代切片

go語言有個特殊的關鍵字 range,它可以配合關鍵字 for 來迭代切片裡的每乙個元素。當迭代切片時,關鍵字 range 會返回兩個值,第乙個值是當前迭代到的索引位置,第二個值是該位置對應元素值的乙份副本,如下圖所示 需要強調的是,range 返回的是每個元素的副本,而不是直接返回對該元素的引用,...

go語言基礎之range

在go語言中,遍歷資料或切片時可以用range,range會產生兩個值,分別是資料的索引與值 package main import fmt func main for v range x 這種寫法非常不好 雖然沒有報錯 因為for range的過程中,產生了index 索引 與value兩個值,但...