Go - Slice
Go'da slicelar bir fonksiyona parametre olarak verildiklerinde, orjinal value'yu referans ediyor. Bu sebeple fonksiyon icerisinde slice'in bir elemanini degistirdigimizde orjinal slice da degisir.
package main import "fmt" func main() { a := []int{1, 2, 3, 4} foo(a) fmt.Println(a) // [10, 2, 3, 4] } func foo(s []int) { s[0] = 10 }
Yukarida goruldugu gibi foo
fonksiyonuna slice'i pointer olarak vermememe ragmen orjinal slice degisti.