Tidak. Peta adalah referensi secara default.
package main
import "fmt"
func mapToAnotherFunction(m map[string]int) {
m["hello"] = 3
m["world"] = 4
m["new_word"] = 5
}
func main() {
m := make(map[string]int)
m["hello"] = 1
m["world"] = 2
for key, val := range m {
fmt.Println(key, "=>", val)
}
fmt.Println("-----------------------")
mapToAnotherFunction(m)
for key, val := range m {
fmt.Println(key, "=>", val)
}
fmt.Println("-----------------------")
}
Dari Golang Blog-
Tipe peta adalah tipe referensi, seperti pointer atau irisan, sehingga nilai m di atas adalah nil; itu tidak menunjuk ke peta yang diinisialisasi. Peta nil berperilaku seperti peta kosong saat membaca, tetapi upaya untuk menulis ke peta nil akan menyebabkan panik runtime; jangan lakukan itu. Untuk menginisialisasi peta, gunakan fungsi make bawaan:
m = make(map[string]int)
Code Snippet Link Mainkan dengannya.