Heim  >  Artikel  >  Backend-Entwicklung  >  Warum gerät Go nicht in Panik, wenn er versucht, eine Nullkarte zu lesen?

Warum gerät Go nicht in Panik, wenn er versucht, eine Nullkarte zu lesen?

WBOY
WBOYnach vorne
2024-02-06 10:00:041090Durchsuche

为什么 Go 在尝试读取 nil 映射时不会恐慌?

Frageninhalt

Das ist der Code, ich habe eine Panik beim Zugriff erwartet mp["12"] aber dort funktioniert es einwandfrei

// You can edit this code!
// Click here and start typing.
package main

import "log"

func main() {
    var mp map[string]int = nil
    log.Println(mp["12"], "12") // works fine
    if mp == nil {
        panic("map is nil") // panic here
    }
}

Richtige Antwort


Sie können aus einer Nullkarte lesen, aber nicht schreiben. Die Sprachspezifikation lautet:

Das obige ist der detaillierte Inhalt vonWarum gerät Go nicht in Panik, wenn er versucht, eine Nullkarte zu lesen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen