Сравнение строк
Часть раздела Fundamentals путешествия по Rust на Coddy — урок 19 из 75.
В Rust существует два основных способа создания строк:
Метод 1: Простые строковые литералы (str):
let str1 = "hello";
let str2 = "hello";
let str3 = "Hello";Это простые фиксированные строки, которые встроены в вашу программу.
Способ 2: Полноценные строки (String):
let string1: String = "hello".to_string();
let string2: String = String::from("hello");
let string3 = "hello".to_owned();Они создают более гибкий тип строки, который можно изменить позже. Все три строки делают практически одно и то же, это просто разные способы записи.
Символы :: в String::from("hello") — это способ Rust вызывать функцию, которая принадлежит непосредственно типу; здесь from — это функция, предоставляемая самим типом String. Вы будете встречать этот синтаксис :: при работе с типами повсюду в Rust.
Для большинства сравнений строк оба типа работают одинаково:
let result1 = str1 == str2; // true
let result2 = str1 == str3; // false (чувствительно к регистру)
// Сравнение String с String
let result3 = string1 == string2; // true
// Вы даже можете сравнивать String с &str
let result4 = string1 == str1; // trueПопробуйте сами
В этом уроке нет задания по программированию.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Fundamentals
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияАрифметические сокращенияОператоры сравненияСравнение строк7Основы ввода-вывода
Вывод в консольЧтение ввода пользователяПовторение — До 120Повторение — True или False5Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 38Приложение-калькулятор
Приветственное сообщениеПолучение чисел3Переменные. Часть 2
Объявление типаСоглашения об именованииВывод типовПовторение: инициализация переменныхПриведение типов9Циклы
Цикл For по последовательностиЦикл WhileОператор BreakОператор ContinueВложенные циклыМетки цикловБесконечный циклПовторение — Динамический ввод