DEV Community

Cover image for panic: assignment to entry in nil map
nardiyansah
nardiyansah

Posted on

panic: assignment to entry in nil map

#go

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"])
}
Enter fullscreen mode Exit fullscreen mode

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"])
}
Enter fullscreen mode Exit fullscreen mode

ketika kita deklarasi suatu map seperti ini di Go.

var m map[string]int
Enter fullscreen mode Exit fullscreen mode

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))
Enter fullscreen mode Exit fullscreen mode

Referensi:

Credit:

Top comments (0)