Sobes.tech
Junior — Middle

Каким образом обрабатывать ситуации, когда Map еще не была инициализирована?

sobes.tech AI

Απάντηση από AI

Στη γλώσσα Go, πριν χρησιμοποιήσετε ένα map, πρέπει να το αρχικοποιήσετε, διαφορετικά η προσπάθεια εγγραφής θα οδηγήσει σε panic (runtime panic). Για να διαχειριστείτε την κατάσταση όπου το map δεν έχει ακόμη αρχικοποιηθεί (δηλαδή, είναι nil), μπορείτε:

  • Να ελέγξετε αν το map έχει αρχικοποιηθεί πριν το χρησιμοποιήσετε:
var m map[string]int
if m == nil {
    m = make(map[string]int)
}
 m["key"] = 42
  • Ή να αρχικοποιήσετε το map αμέσως κατά την δήλωση:
m := make(map[string]int)
 m["key"] = 42

Έτσι, πρέπει πάντα να διασφαλίζετε ότι το map δεν είναι nil πριν γράψετε σε αυτό.