Sobes.tech
Junior — Middle

Ποιες ενσωματωμένες λειτουργίες και λειτουργίες επιτρέπονται για ένα slice που δεν έχει ακόμη αρχικοποιηθεί;

sobes.tech AI

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

Στη γλώσσα Go, μια slice που δεν έχει αρχικοποιηθεί (δηλαδή, είναι ίση με nil) μπορεί να χρησιμοποιηθεί για τις ακόλουθες λειτουργίες:

  • Έλεγχος για nil: if slice == nil {}
  • Απόκτηση μήκους και χωρητικότητας: len(slice) και cap(slice) θα επιστρέψουν 0
  • Μπορείτε να προσθέσετε στοιχεία χρησιμοποιώντας append, για παράδειγμα:
var s []int // nil-slice
s = append(s, 1, 2, 3) // τώρα η slice έχει αρχικοποιηθεί και περιέχει στοιχεία

Ωστόσο, δεν μπορείτε να προσπελάσετε στοιχεία με δείκτη, π.χ. s[0], αν η slice είναι nil ή κενή — αυτό θα προκαλέσει panic.