[![КДПВ][1]][2]Статья — одна из серии постов, рассказывающих об использовании некоторых полезных библиотечных типажей и связанных с ними идиом Rust на примере строковых типов данных. Информация бесспорно полезная как для начинающих программистов на Rust, так и для тех, что уже успел себя немного попробовать в этом языке, но ещё не совсем освоился с богатой библиотекой типажей. Оригинальный пост содержит несколько неточностей и опечаток в коде, которые я постарался исправить в процессе перевода, однако в общем и целом описанные подходы и мотивация правильные, подходящие под понятие «лучших практик», а потому заслуживают внимания.
----
В моём последнем [посте][3] мы много говорили об использовании `&str` как предпочтительного типа для функций, принимающих строковые аргументы. Ближе к концу поста мы обсудили, когда лучше использовать `String`, а когда `&str` в структурах (`struct`). Хотя я думаю, что в целом совет хорош, но в некоторых случаях использование `&str` вместо `String` не оптимально. Для таких случаев нам понадобится другая стратегия. [Читать дальше →][4]
[1]:
https://habrastorage.org/files/a8c/63c/5b7/a8c63c5b700645d99be879259f316740.png "КДПВ"
[2]:
http://habrahabr.ru/post/274455/
[3]:
http://hermanradtke.com/2015/05/03/string-vs-str-in-rust-functions.html
[4]:
http://habrahabr.ru/post/274455/#habracut