Подтвердить что ты не робот

Как преобразовать из целого числа в строку?

Я не могу скомпилировать код, который преобразует тип из целого в строку. Я использую пример из учебника Rust для Rubyists, который имеет различные преобразования типов, такие как:

"Fizz".to_str() и num.to_str() (где num - целое число).

Я думаю, что большинство (если не все) этих вызовов функций to_str() устарели. Каков текущий способ преобразования целого в строку?

Ошибки, которые я получаю, следующие:

error: type `&'static str` does not implement any method in scope named `to_str`
error: type `int` does not implement any method in scope named `to_str`
4b9b3361

Ответ 1

Просто используйте to_string() (пример запуска здесь):

let x: u32 = 10;
let s: String = x.to_string();
println!("{}", s);

И вы правы, to_str() был переименован в to_string() до того, как Rust 1.0 был выпущен для согласованности, потому что выделенная строка теперь называется String.

Если вам нужно передать фрагмент строки где-нибудь, вам нужно получить ссылку &str от String. Это можно сделать, используя & и принуждение дерева:

let ss: &str = &s;   // specifying type is necessary for deref coercion to fire
let ss = &s[..];     // alternatively, use slicing syntax

Учебник, с которым вы связаны, кажется устаревшим. Если вас интересуют строки в Rust, вы можете просмотреть строку в разделе "Язык программирования ржавчины" .