Sobes.tech
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.