Símbolo r# | Rust
- Símbolo
r#| Rust
Referência de r#"" em Rust
Introdução
Em Rust, o prefixo r# é utilizado para criar raw strings (strings brutas). Isso permite representar strings com menos necessidade de escapes, especialmente úteis para incluir caracteres especiais como aspas, barras invertidas ou quebras de linha.
Sintaxe
let sql = r#"
SELECT * FROM users WHERE name = "Alice";
"#;
- Os delimitadores
r#"e"#indicam o início e o fim da raw string. - O conteúdo entre eles é interpretado literalmente, sem processar
\n,\", etc.
Exemplo com SQL
let query = r#"
CREATE TABLE IF NOT EXISTS catalog_product (
idcatalogproduct SERIAL PRIMARY KEY,
name VARCHAR(255) NOT NULL,
description VARCHAR(255),
ingredients VARCHAR(300),
barcode VARCHAR(50),
category VARCHAR(50),
unitmeasure VARCHAR(2),
costmanufacture MONEY,
image BYTEA,
sellvalue MONEY,
status VARCHAR(15)
);
"#;
- O
r#"permite escrever esse bloco SQL sem escapar aspas ou quebras de linha. - Torna o código mais legível e limpo, especialmente em literais longos como SQL, expressões regulares ou JSON.
Raw Strings com Múltiplos #
Se o conteúdo da string incluir "#, pode-se usar mais # para escapar:
let text = r##"Esta é uma string com "# dentro"##;