Junior
Μπορεί να αλλάξει ένας συγκεκριμένος χαρακτήρας σε μια συμβολοσειρά;
sobes.tech AI
Απάντηση από AI
Οι συμβολοσειρές στο Go είναι αμετάβλητες. Δεν μπορείτε να αλλάξετε απευθείας ένα μεμονωμένο χαρακτήρα σε μια υπάρχουσα συμβολοσειρά.
Για να αποκτήσετε μια τροποποιημένη συμβολοσειρά, πρέπει να δημιουργήσετε μια νέα:
- Μετατρέψτε τη συμβολοσειρά σε ένα τμήμα από runes (
[]rune). - Τροποποιήστε το στοιχείο στο τμήμα.
- Μετατρέψτε το τμήμα των runes ξανά σε μια συμβολοσειρά.
// s - αρχική συμβολοσειρά
s := "hello"
// Μετατροπή της συμβολοσειράς σε []rune
r := []rune(s)
// Τροποποίηση του rune στη θέση
r[0] = 'ц' // Αντικατάσταση του 'h' με 'ц'
// Μετατροπή ξανά σε συμβολοσειρά
newString := string(r)
// newString θα είναι "цеllo"
Ένας άλλος τρόπος, λιγότερο ευέλικτος αλλά εφικτός σε απλές περιπτώσεις, είναι η σύνδεση συμβολοσειρών.
// s - αρχική συμβολοσειρά
s := "hello"
// Δημιουργία νέας συμβολοσειράς με σύνδεση υπο-συμβολοσειρών και του απαραίτητου χαρακτήρα
newString := string(s[0]) + "ц" + s[2:] // Παράδειγμα: αλλαγή του δεύτερου χαρακτήρα
// newString θα είναι "hцllo"