Sobes.tech
Junior — Middle

Ποια αποτελέσματα λαμβάνονται κατά την διαδοχική διαδρομή των χαρακτήρων μιας συμβολοσειράς;

sobes.tech AI

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

Κατά την διαδοχική περιήγηση των χαρακτήρων μιας συμβολοσειράς σε Go (Golang), συνήθως χρησιμοποιείται ένας βρόχος for range, ο οποίος διατρέχει τις runes (σημεία κώδικα Unicode).

Το αποτέλεσμα αυτής της επανάληψης είναι η λήψη κάθε χαρακτήρα της συμβολοσειράς ως τιμή τύπου rune και η θέση του (δείκτης σε bytes).

Παράδειγμα:

package main
import (
    "fmt"
)

func main() {
    s := "Привет"
    for i, r := range s {
        fmt.Printf("Δείκτης: %d, Χαρακτήρας: %c\n", i, r)
    }
}

Η έξοδος θα περιέχει τον δείκτη (σε bytes) και τον αντίστοιχο χαρακτήρα. Αυτό είναι σημαντικό, καθώς σε UTF-8, οι χαρακτήρες μπορεί να καταλαμβάνουν διαφορετικό αριθμό bytes.

Έτσι, η διαδοχική περιήγηση επιτρέπει την σωστή εργασία με Unicode strings, λαμβάνοντας κάθε χαρακτήρα ολόκληρο, και όχι μόνο μεμονωμένα bytes.