W
W
WasTabon2022-01-27 03:05:19
css
WasTabon, 2022-01-27 03:05:19

Why write .to_string() when declaring a string?

fn m(){

    let s1 = "hello".to_string();   // s1 - владелец строки "hello"
    println!("s1: {}", s1);

    let s2 = s1;                    // меняем владельца строки на s2

    println!("s1: {}", s1);         // !Ошибка - s1 теперь нельзя использовать
    println!("s2: {}", s2);
}

Tipo if you do the prefix .to_string (), then you also need to add & when you assign a value to a variable.
But if without it, then & is optional. So why is all this necessary?

Answer the question

In order to leave comments, you need to log in

5 answer(s)
T
Tlito, 2015-12-12
@tlito

нет смысла добиваться 100, но если вам интересны мои реомендации то на тлито ру поищите статью ааптивный дизайн в разделе Разработка - CSS

Николай, 2015-12-12
@healqq

Ох советчики.
Можно грузить через ajax и вставлять.

G
Gleb Gryadk.in, 2016-10-31
@Gryadk_in

Я, почему-то, совсем не уверен, что дело в одной картинке. Полагаю, фраза "необходимы дополнительные сетевые запросы" как-бы намекает ,что в хидере грузится всего дохрена.
т.е. надо бы:
- собрать стили и скрипты в один файл и/или грузить их где-то в футере.
- для мелких картинок использовать спрайты или cdn или data:image/png;base64
посмотри в gtmetrix - он подробнее пишет.

V
Vasily Bannikov, 2022-01-27
@WasTabon

There is a good article: https://habr.com/en/post/274485/
String literals have type &'static str. That is, it is a borrowed reference to an object with an unlimited lifetime.
And to_string returns an already owned string of type std::string::String
A, this is necessary in this code to show the mechanics of ownership, which is obviously impossible if no one owns the values, as is the case with links.
If you want to get exactly String from a string literal, then there are several options at once, including the one shown:

let a: String = String::from("a");
let b: String = "b".to_string();
let c: String = "c".into(); // или "c".into::<String>(), если не указывать тип явно.
let d: String = "d".to_owned();

R
Roman Kitaev, 2022-01-27
@deliro

https://qna.habr.com/q/1105214#answer_2097786
Section Strings in Rust

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question