Что выведет код Middle Строки, байты и руны обновлено
Что выведет Go: руны, байты и преобразования
Вопрос
Что выведет программа? Go 1.23, в go.mod указано go 1.23.
package main
import "fmt"
func main() {
s := "кот"
r := []rune(s)
b := []byte(s)
r[0] = 'р'
fmt.Println(len(r), len(b), string(r), s)
}
Попробуйте сами
Напишите, что выведет код: каждый вывод с новой строки.
Показать ответ и разбор
Коротко
Код выведет: 3 6 рот кот. []rune даёт 3 руны, []byte 6 байтов.
Что выведет
3 6 рот кот
Разбор
[]rune даёт 3 руны, []byte 6 байтов. Оба преобразования копируют данные, поэтому изменение r не трогает исходную строку, а string(r) собирает новую строку «рот».
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.