Уроки · 64
Строки
В уроке «Hello World» уже была строка —
"Hello, world!", просто тогда было не до объяснений, нужно было
только запустить программу. Сейчас разберёмся, что это такое.
Что такое строка
Заголовок раздела «Что такое строка»Строка — это просто текст: какие угодно символы в кавычках. До сих
пор в коде встречались только числа (f32) да bool — строка это
новый вид значения, для текста, а не для счёта:
let greeting = "Привет!";Даже если внутри кавычек цифры, это всё равно текст, а не число:
"42" нельзя сложить с другим числом, как обычное 42, — для Rust
это просто два символа, '4' и '2', а не число сорок два.
Печатаем значения
Заголовок раздела «Печатаем значения»println! из «Hello World» выводил готовый текст целиком. А если
нужно вставить в текст ещё и значение переменной, внутри строки
пишут пустые фигурные скобки {} — туда и подставится следующий
аргумент:
let count = 5;println!("Кружков: {}", count);{} сам умеет показать число — отдельно превращать его в строку для
этого не нужно. В консоль попадёт Кружков: 5.
Число в строку
Заголовок раздела «Число в строку»Если println! сам справляется с числом, зачем тогда вообще нужен
способ превратить число в строку? Иногда нужна не печать, а сама
строка целиком — например, передать её туда, где ждут именно строку,
а не число. Это понадобится в последующих уроках — например, когда
будем рисовать текст на экране: та функция принимает только готовую
строку. Для этого у чисел есть метод .to_string():
let count = 5;let count_text = count.to_string();Было число 5, стало — строка "5". Выглядит так же, но это уже не
число: умножить его больше нельзя, зато можно показать рядом с другим
текстом или передать туда, где ждут строку.
fn main() { let count = 5; println!("Кружков: {}", count);
let count_text = count.to_string(); println!("{}", count_text);}Запусти как обычно:
cargo runВ консоли появится:
Кружков: 55Что здесь происходит
Заголовок раздела «Что здесь происходит»- Строка — текст в кавычках, отдельный от чисел вид значения, даже если внутри кавычек одни цифры.
{}внутри строки уprintln!— место, куда подставляется следующий аргумент после запятой; работает с числами и так, без всякого превращения в строку..to_string()превращает число в строку с тем же самым изображением —5становится"5". Нужен не для печати, а для случаев, где требуется именно готовая строка.