Sobes.tech
Junior — Middle

Πώς μπορούμε να καθορίσουμε το μήκος μιας συμβολοσειράς σε χαρακτήρες στη γλώσσα Go;

sobes.tech AI

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

Στη Go, μια συμβολοσειρά είναι μια ακολουθία bytes, όχι χαρακτήρες Unicode. Για να λάβετε το μήκος της συμβολοσειράς σε χαρακτήρες (runes), πρέπει να μετατρέψετε τη συμβολοσειρά σε ένα slice από runes και να μετρήσετε το μήκος του:

s := "Привет"
length := len([]rune(s))
fmt.Println(length) // Θα εμφανίσει τον αριθμό των χαρακτήρων

Επειδή ένας Unicode χαρακτήρας μπορεί να καταλαμβάνει πολλαπλά bytes, η χρήση του len(s) θα δώσει τον αριθμό των bytes, όχι των χαρακτήρων.