Interpolação Personalizada de Strings
Amplie a interpolação com seus próprios segmentos.
Interpolação Personalizada de Strings é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 4 aulas no total.
Interpolação personalizada de cadeias de caracteres
O Swift permite estender o funcionamento da interpolação adicionando métodos a String.StringInterpolation. Isso personaliza o que acontece com tipos ou rótulos de argumentos específicos.
extension String.StringInterpolation {
mutating func appendInterpolation(shout value: String) {
appendLiteral(value.uppercased() + "!")
}
}
print("Message: \(shout: "hello")")O método appendInterpolation
Cada interpolação personalizada é uma mutating func appendInterpolation(...). Os parâmetros definem o que você escreve entre os parênteses de uma cadeia de caracteres.
extension String.StringInterpolation {
mutating func appendInterpolation(repeat text: String, times: Int) {
appendLiteral(String(repeating: text, count: times))
}
}
print("\(repeat: "ab", times: 3)")appendLiteral e appendInterpolation
Dentro de um método personalizado, você cria a saída chamando appendLiteral para texto simples e reutilizando interpolações existentes para os valores.
extension String.StringInterpolation {
mutating func appendInterpolation(twice value: Int) {
appendLiteral("\(value)\(value)")
}
}
print("\(twice: 7)")Argumentos de interpolação com rótulos
O rótulo do primeiro parâmetro se torna a palavra-chave usada, como em \(shout: ...). Isso torna a intenção clara no local da chamada.
extension String.StringInterpolation {
mutating func appendInterpolation(currency amount: Double) {
appendLiteral(String(format: "$%.2f", amount))
}
}
print("Price: \(currency: 9.5)")Vários parâmetros
As interpolações personalizadas podem aceitar vários parâmetros, permitindo passar opções junto com o valor.
extension String.StringInterpolation {
mutating func appendInterpolation(_ value: Double, places: Int) {
appendLiteral(String(format: "%.\(places)f", value))
}
}
print("\(3.14159, places: 2)")Formatando valores específicos do domínio
Um uso comum é apresentar um valor de uma maneira específica do domínio, como preencher um número até atingir uma largura fixa.
extension String.StringInterpolation {
mutating func appendInterpolation(padded value: Int, width: Int) {
appendLiteral(String(format: "%0\(width)d", value))
}
}
print("ID: \(padded: 42, width: 5)")Saída condicional
A interpolação personalizada pode incluir lógica, produzindo textos diferentes com base na entrada.
extension String.StringInterpolation {
mutating func appendInterpolation(yesNo flag: Bool) {
appendLiteral(flag ? "Yes" : "No")
}
}
print("Active: \(yesNo: true)")Reutilizando interpolações existentes
Dentro do método, você pode chamar appendInterpolation para tipos integrados, compondo sobre o comportamento padrão.
extension String.StringInterpolation {
mutating func appendInterpolation(bracketed value: Int) {
appendLiteral("[")
appendInterpolation(value)
appendLiteral("]")
}
}
print("\(bracketed: 9)")Valores padrão dos parâmetros
As interpolações personalizadas podem definir valores padrão para os parâmetros, permitindo que os chamadores os omitam.
extension String.StringInterpolation {
mutating func appendInterpolation(money value: Double, symbol: String = "$") {
appendLiteral(symbol + String(format: "%.2f", value))
}
}
let sym = "EUR "
print("\(money: 5.0)")
print("\(money: 5.0, symbol: sym))")Quando usar a interpolação personalizada
Use a interpolação personalizada quando um padrão de formatação se repetir em seu código; ela centraliza a lógica por trás de um local de chamada limpo.
extension String.StringInterpolation {
mutating func appendInterpolation(stars n: Int) {
appendLiteral(String(repeating: "*", count: n))
}
}
print("Rating: \(stars: 4)")Resumo da interpolação personalizada
Ao estender String.StringInterpolation, você transforma formatações repetitivas em uma sintaxe legível e reutilizável, inserida diretamente nas suas cadeias de caracteres.
extension String.StringInterpolation {
mutating func appendInterpolation(percent value: Double) {
appendLiteral(String(format: "%.0f%%", value * 100))
}
}
print("Done: \(percent: 0.75)")Verificação rápida
Recorde o mecanismo por trás da interpolação personalizada.
Revisão: interpolação personalizada de cadeias de caracteres
Você aprendeu que estender String.StringInterpolation com métodos appendInterpolation permite definir uma nova sintaxe de interpolação; que appendLiteral e as interpolações aninhadas servem para construir a saída; e que rótulos, vários parâmetros e valores padrão permitem criar formatações limpas e reutilizáveis.
extension String.StringInterpolation {
mutating func appendInterpolation(upper value: String) {
appendLiteral(value.uppercased())
}
}
print("Hello \(upper: "swift")")Perguntas Frequentes
A aula “Interpolação Personalizada de Strings” é grátis?
Sim — o texto completo de “Interpolação Personalizada de Strings” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 4 aulas no total.
O que vou aprender em “Interpolação Personalizada de Strings”?
Amplie a interpolação com seus próprios segmentos. Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Swift Academy?
Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Interpolação Personalizada de Strings”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Swift Academy?
Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Interpolação Básica de Strings
- Formatação de Números em Strings
- Literais de String em Várias Linhas
- Interpolação Personalizada de Strings