важна скорость чего?
// блок A
let mut u02: Vec<String> = vec![];
for c in u01_str.chars() {
u02.push(c.to_string());
}
println!("3. u02 = {:?}", &u02); // [";", "\r", "\n", " ", "/", "*"]
// блок B
let mut u03: Vec<&str> = vec![];
for c in u01_str.chars() {
u03.push(c.to_string().as_str());
}
println!("4. u03 = {:?}", &u03); // чтобы получить: [";", "\r", "\n", " ", "/", "*"]
Vec<String> = vec![]
Vec<&str> = vec![]
127.0.0.1:3000/info
has been blocked by CORS policyрешена.
теперь ожидаются данные, вроде таких {"username": "123"}
Access to XMLHttpRequest at 'localhost:3000/info' from origin '127.0.0.1:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
POST localhost:3000/info net::ERR_FAILED
xhr.setRequestHeader('Content-Type', 'application/json'); // 'application/json' 'application/x-www-form-urlencoded'
xhr.setRequestHeader('Access-Control-Allow-Origin', '*');
xhr.setRequestHeader('Access-Control-Allow-Methods', 'GET, OPTIONS, POST');
xhr.setRequestHeader('Access-Control-Allow-Headers', 'Content-Type');
xhr.setRequestHeader('X-CSRFToken', csrftoken); // отправляет: в заголовках вижу, например: X-CSRFToken
678
ожидается, что вы будете слать JSON, а не форму - для работы с формой есть другие ...
или ctrl+shift+v
let mut path = String::new();
let _io_path = std::io::stdin().read_line(&mut path).unwrap();
path = (*path.trim()).to_string();
Я поправил код, чтобы уточнить, что второй вариант - это два отдельных и равнозначных выражения, которые у меня не работают. Разделил их на 2.1 и 2.2.
Понимаю, что для конкатенации нужна конструкция: String + &str
Если переменная s будет исходно типом данных String, то промежуточная переменная b не нужна. Вот спрашиваю теорию, почему для моего случая,
когда переменная s задана типом &str, - не могу обойтись без промежуточной
переменной. Т.е. в чём причина, по разному передаются в функцию переменные из стека (клонирует) и кучи?