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.