Skip to main content

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"##;