Kenapa code ini error ? atau lebih tepatnya panic kalo di Go
package main
import "fmt"
func main() {
var m map[string]int
m["a"] = 1
fmt.Println(m["a"])
}
panic: assignment to entry in nil map
solusi mengatasi panic diatas adalah menggunakan function make untuk initialize map.
package main
import "fmt"
func main() {
var m = make(map[string]int)
m["a"] = 1
fmt.Println(m["a"])
}
ketika kita deklarasi suatu map seperti ini di Go.
var m map[string]int
kita membuat nil map. nil map sama seperti empty map panjang elemennya 0 dengan pengecualian kita tidak bisa menambah elemen di nil map.
var a map[string]int
var b = make(map[string]int)
assert.Equal(t, len(a), len(b))
Referensi:
- https://yourbasic.org/golang/gotcha-assignment-entry-nil-map/
- https://yourbasic.org/golang/maps-explained/
Credit:
- Cover photo Photo by Usman Yousaf on Unsplash
Top comments (0)