Noções Básicas de Strings
7 exemplos - 5 básicos, 2 intermediários - para String e &str.
Pré-requisitos
Exemplos Básicos
1. Literal &str
fn main() {
let s: &str = "hello";
println!("{s}");
}- Fatia UTF-8 em binário
&'static strpara literais
2. String de Propriedade
fn main() {
let mut s = String::from("hello");
s.push_str(" world");
}- UTF-8 alocado no heap
- Buffer expansível
3. Empréstimo com &str
fn greet(name: &str) { println!("Hello, {name}"); }
fn main() { greet("Ada"); greet(&String::from("Bob")); }- APIs aceitam
&strpara flexibilidade
4. push e push_str
let mut s = String::new();
s.push('!');
s.push_str("ok");5. len vs chars().count()
let s = "🦀";
assert_eq!(s.len(), 4); // bytes
assert_eq!(s.chars().count(), 1);Relacionado: UTF-8 e Indexação
Exemplos Intermediários
6. format!
let msg = format!("{} {}", "hello", 42);7. Conversões into()
let owned: String = "x".into();
let slice: &str = &owned;Relacionado: Boas Práticas de Strings
Versões da Stack: Esta página foi escrita para Rust 1.97.0 (edição 2024), Tokio 1.x, Axum 0.8, serde 1.0, sqlx 0.8, clap 4 e Polars 0.46+.