Junior — Middle
Πώς μπορεί κανείς να διατρέξει διαδοχικά τους χαρακτήρες μιας συμβολοσειράς στον κώδικα;
sobes.tech AI
Απάντηση από AI
Στη Go, για την διαδοχική πρόσβαση στους χαρακτήρες μιας συμβολοσειράς (runes), χρησιμοποιείται ο βρόχος for range. Αυτό είναι σημαντικό, διότι στη Go, μια συμβολοσειρά είναι μια ακολουθία bytes, και οι χαρακτήρες Unicode μπορεί να καταλαμβάνουν πολλαπλά bytes.
Παράδειγμα:
s := "Привет"
for i, r := range s {
fmt.Printf("Χαρακτήρας %c ξεκινά από το byte %d\n", r, i)
}
Εδώ, το r είναι μια rune (χαρακτήρας Unicode), και το i είναι ο δείκτης του byte όπου ξεκινά αυτός ο χαρακτήρας στη συμβολοσειρά.
Αυτή η προσέγγιση επιτρέπει την σωστή επεξεργασία πολυγλωσσικών συμβολοσειρών και χαρακτήρων που καταλαμβάνουν περισσότερα από ένα byte.