let hello1 = "Hello, world!";
let hello2 = "Hello, world!".to_string();
let hello3 = String::from("Hello, world!");
7
A
Odpowiedz
10
let hello1 = "Hello, world!";
Stwarza to kawałek ciąg (&str
). W szczególności, &'static str
, kawałek łańcucha, który żyje przez cały czas trwania programu. Nie przydzielono pamięci sterty; dane ciągu znaków znajdują się w pliku binarnym samego programu.
let hello2 = "Hello, world!".to_string();
ta wykorzystuje maszynerię formatowania formatowania żadnego typ, który implementuje Display
, tworząc własnością, przydzieloną ciąg (String
). W wersjach Rust przed 1.9.0 (szczególnie z powodu this commit), jest to wolniejsze niż bezpośrednia konwersja przy użyciu String::from
. W wersji 1.9.0 i później wywołanie .to_string()
na literał łańcuchowy ma taką samą prędkość, jak String::from
.
let hello3 = String::from("Hello, world!");
Ten kawałek konwertuje ciąg znaków na własność, przydzielonej ciąg (String
) w sposób efektywny.
let hello4 = "hello, world!".to_owned();
To samo co String::from
.
Zobacz także:
Powiązane problemy
- 1. Jaka jest różnica między tymi dwoma sposobami porównywania wektorów STL?
- 2. Jaka jest różnica między sposobami przypisywania wskaźnika?
- 3. Jaka jest różnica między tymi instrukcjami importu?
- 4. Jaka jest różnica między tymi dwoma oświadczeniami?
- 5. Jaka jest różnica między tymi dwoma?
- 6. Jaka jest różnica między tymi dwoma?
- 7. Jaka jest różnica między tymi dwoma metodami?
- 8. Jaka jest różnica między tymi dwoma oświadczeniami?
- 9. Jaka jest różnica między tymi dwoma wyrażeń regularnych? (Zrozumienie? Kwantyfikatorów)
- 10. Jaka jest różnica między tymi dwoma formatami JSON?
- 11. Jaka jest różnica między tymi dwoma deklaracjami funkcji w JavaScript?
- 12. Jaka jest różnica między tymi instrukcjami w klasie ogólnej?
- 13. Jaka jest różnica w funkcjonalności między tymi dwoma blokami kodu?
- 14. Jaka jest różnica między tymi składniami definicji zadania w gradle?
- 15. Jaka jest różnica między tymi funkcjami utworzonymi przez funkcję "Function"?
- 16. Jaka jest różnica między tymi dwiema dyrektywami IgnoreRoute ASP.NET MVC?
- 17. Jaka jest różnica między zmiennymi niezmiennymi i stałymi w Rust?
- 18. Guid.Parse() lub nowy Guid() - Jaka jest różnica?
- 19. Jaka jest różnica między tymi dwoma metodami tworzenia obiektów?
- 20. Jaka jest różnica między tymi dwiema implementacjami prototypowego dziedziczenia?
- 21. Jaka jest różnica między tymi dwiema asercjami testu jednostkowego?
- 22. Jaka jest różnica między tymi składniami interpolacji napisów PHP?
- 23. Jaka jest różnica między tymi konwencjami przestrzeni nazw Ruby?
- 24. Jaka jest różnica między tymi metodami przypisywania nazw?
- 25. Jaka jest różnica między tymi (bCondition == NULL) i (NULL == bCondition)?
- 26. Jaka jest różnica między tymi różnicowymi kontrolami pamięci podręcznej?
- 27. Jaka jest różnica między tymi dwiema iteracjami tablicowymi?
- 28. Jaka jest różnica między tymi trzema formami anonimowo wywołującymi funkcję?
- 29. JQuery: Jaka jest różnica między tymi dwoma stwierdzeniami?
- 30. Szyny 3: Jaka jest różnica między silnikiem a klejnotem?