0Pricing
Swift Academy · Aula

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

  1. Interpolação Básica de Strings
  2. Formatação de Números em Strings
  3. Literais de String em Várias Linhas
  4. Interpolação Personalizada de Strings
← Voltar para Swift Academy