F-strings (em Python) e interpolação de strings são técnicas para incorporar expressões dentro de strings. Elas oferecem uma maneira concisa e conveniente de formatar strings com valores dinâmicos.
Vamos ver exemplos de interpolação de strings em várias linguagens de programação:
# Exemplos de F-strings em Python
nome = "Alice"
idade = 30
# Exemplo básico
print(f"Olá, meu nome é {nome} e eu tenho {idade} anos.")
# Formatação de números
pi = 3.14159
print(f"O valor de pi é aproximadamente {pi:.2f}")
# Expressões dentro de F-strings
print(f"Daqui a 5 anos, {nome} terá {idade + 5} anos.")
# Chamada de métodos
print(f"O nome em maiúsculas é {nome.upper()}")
# Expressões condicionais
x = 10
print(f"x é {'par' if x % 2 == 0 else 'ímpar'}")
# Exemplos de interpolação de strings em Ruby
nome = "Alice"
idade = 30
# Exemplo básico
puts "Olá, meu nome é #{nome} e eu tenho #{idade} anos."
# Formatação de números
pi = 3.14159
puts "O valor de pi é aproximadamente #{'%.2f' % pi}"
# Expressões dentro de strings
puts "Daqui a 5 anos, #{nome} terá #{idade + 5} anos."
# Chamada de métodos
puts "O nome em maiúsculas é #{nome.upcase}"
# Expressões condicionais
x = 10
puts "x é #{x % 2 == 0 ? 'par' : 'ímpar'}"
// Exemplos de template literals em JavaScript
const nome = "Alice";
const idade = 30;
// Exemplo básico
console.log(`Olá, meu nome é ${nome} e eu tenho ${idade} anos.`);
// Formatação de números
const pi = 3.14159;
console.log(`O valor de pi é aproximadamente ${pi.toFixed(2)}`);
// Expressões dentro de strings
console.log(`Daqui a 5 anos, ${nome} terá ${idade + 5} anos.`);
// Chamada de métodos
console.log(`O nome em maiúsculas é ${nome.toUpperCase()}`);
// Expressões condicionais
const x = 10;
console.log(`x é ${x % 2 === 0 ? 'par' : 'ímpar'}`);
fn main() {
let nome = "Alice";
let idade = 30;
// Exemplo básico
println!("Olá, meu nome é {} e eu tenho {} anos.", nome, idade);
// Formatação de números
let pi = 3.14159;
println!("O valor de pi é aproximadamente {:.2}", pi);
// Expressões dentro de strings
println!("Daqui a 5 anos, {} terá {} anos.", nome, idade + 5);
// Chamada de métodos
println!("O nome em maiúsculas é {}", nome.to_uppercase());
// Expressões condicionais
let x = 10;
println!("x é {}", if x % 2 == 0 { "par" } else { "ímpar" });
}
public class StringInterpolation {
public static void main(String[] args) {
String nome = "Alice";
int idade = 30;
// Exemplo básico
System.out.printf("Olá, meu nome é %s e eu tenho %d anos.%n", nome, idade);
// Formatação de números
double pi = 3.14159;
System.out.printf("O valor de pi é aproximadamente %.2f%n", pi);
// Expressões dentro de strings
System.out.printf("Daqui a 5 anos, %s terá %d anos.%n", nome, idade + 5);
// Chamada de métodos
System.out.printf("O nome em maiúsculas é %s%n", nome.toUpperCase());
// Expressões condicionais
int x = 10;
System.out.printf("x é %s%n", x % 2 == 0 ? "par" : "ímpar");
}
}
#include <iostream>
#include <string>
#include <format> // C++20
int main() {
std::string nome = "Alice";
int idade = 30;
// Exemplo básico (C++20)
std::cout << std::format("Olá, meu nome é {} e eu tenho {} anos.\n", nome, idade);
// Formatação de números
double pi = 3.14159;
std::cout << std::format("O valor de pi é aproximadamente {:.2f}\n", pi);
// Expressões dentro de strings
std::cout << std::format("Daqui a 5 anos, {} terá {} anos.\n", nome, idade + 5);
// Chamada de métodos (usando transformação manual)
std::string nome_maiusculo = nome;
std::transform(nome_maiusculo.begin(), nome_maiusculo.end(), nome_maiusculo.begin(), ::toupper);
std::cout << std::format("O nome em maiúsculas é {}\n", nome_maiusculo);
// Expressões condicionais
int x = 10;
std::cout << std::format("x é {}\n", x % 2 == 0 ? "par" : "ímpar");
return 0;
}