Pull to refresh

Comments 9

char всегда по 4 байта? Даже во внутреннем представлении строк?
Внутреннее представление строк — не массив char'ов, а массив байтов, который гарантированно представляет строку в UTF-8. Как в Go.
Маленькая поправка: всё-таки в Go UFT-8 не гарантируется. Любой массив байтов, не обязательно содержащий внутри себя UTF-8, можно кастануть в строку.
Хм, не знал. В таком случае да, отличие от Go есть — в Rust корректность UTF-8 гарантируется, если не прибегать к некоторым unsafe-функциям.
Имхо, в технических текстах mutability более корректно переводить как изменяемость, на худой конец — прижилась калька мутабельность.
Rust 0.11

println!(«1i — 2 = {}», 1i — 2);
// Попробуйте изменить `1i` на `1u` и понять, почему тип важен
println!(«1u — 2 = {}», 1i — 2);

Выдаёт:

1i — 2 = -1
1u — 2 = -1

А что должно было произойти?
Надо же не только в форматной строке поменять:
is.gd/SyVz0J: println!("{}", 1i - 2) => -1
is.gd/MN2Py3: println!("{}", 1u - 2) => 18446744073709551615

// Специальное форматирование может быть указано в заполнителе после :, t это бинарное представление
println!("{} of {:t} people know binary, the other half don't", 1i, 2i);

Rust 1.67 - ошибка ":t" - нет такого форматирования, в подсказках выдается ":b" для бинарного форматирования и прога собирается

Sign up to leave a comment.

Articles