<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="/feed.xsl" type="text/xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Kotlin Koans BR · rsicarelli.com</title><description>Um tour prático pelos recursos fundamentais da linguagem Kotlin — de templates de string a classes seladas e smart casts — um exercício curto e focado por vez.</description><link>https://rsicarelli.com/</link><language>pt-BR</language><copyright>© 2026 Rodrigo Sicarelli — CC BY-NC 4.0 (https://creativecommons.org/licenses/by-nc/4.0/)</copyright><atom:link href="https://rsicarelli.com/pt-br/series/kotlin-koans-br/rss.xml" rel="self" type="application/rss+xml"/><item><title>Kotlin Koans BR: Olá, mundo!</title><link>https://rsicarelli.com/pt-br/blog/kotlin-koans-br-ola-mundo/</link><guid isPermaLink="true">https://rsicarelli.com/pt-br/blog/kotlin-koans-br-ola-mundo/</guid><description>Altere o código para que a função start retorne a string &quot;OK&quot;.</description><pubDate>Thu, 07 Mar 2024 00:00:00 GMT</pubDate></item><item><title>Kotlin Koans BR: Argumentos nomeados</title><link>https://rsicarelli.com/pt-br/blog/kotlin-koans-br-argumentos-nomeados/</link><guid isPermaLink="true">https://rsicarelli.com/pt-br/blog/kotlin-koans-br-argumentos-nomeados/</guid><description>Faça com que a função joinOptions() retorne a lista em formato JSON (por exemplo, [a, b, c]) especificando apenas dois argumentos.</description><pubDate>Thu, 07 Mar 2024 00:00:00 GMT</pubDate></item><item><title>Kotlin Koans BR: Argumentos padrão</title><link>https://rsicarelli.com/pt-br/blog/kotlin-koans-br-argumentos-padrao/</link><guid isPermaLink="true">https://rsicarelli.com/pt-br/blog/kotlin-koans-br-argumentos-padrao/</guid><description>Imagine que você tenha várias sobrecargas de foo() na sua linguagem favorita.</description><pubDate>Thu, 07 Mar 2024 00:00:00 GMT</pubDate></item><item><title>Kotlin Koans BR: Strings com três aspas</title><link>https://rsicarelli.com/pt-br/blog/kotlin-koans-br-strings-com-tres-aspas/</link><guid isPermaLink="true">https://rsicarelli.com/pt-br/blog/kotlin-koans-br-strings-com-tres-aspas/</guid><description>Substitua a chamada trimIndent pela chamada trimMargin, definindo # como valor de prefixo, assim a string resultante não conterá o caractere de prefixo.</description><pubDate>Thu, 07 Mar 2024 00:00:00 GMT</pubDate></item><item><title>Kotlin Koans BR: Modelos de String</title><link>https://rsicarelli.com/pt-br/blog/kotlin-koans-br-modelos-de-string/</link><guid isPermaLink="true">https://rsicarelli.com/pt-br/blog/kotlin-koans-br-modelos-de-string/</guid><description>O padrão a seguir corresponde a uma data no formato 13.06.1992 (dois dígitos, um ponto, dois dígitos, um ponto, quatro dígitos):</description><pubDate>Thu, 07 Mar 2024 00:00:00 GMT</pubDate></item><item><title>Kotlin Koans BR: Tipos anuláveis</title><link>https://rsicarelli.com/pt-br/blog/kotlin-koans-br-tipos-anulaveis/</link><guid isPermaLink="true">https://rsicarelli.com/pt-br/blog/kotlin-koans-br-tipos-anulaveis/</guid><description>Reescreva o código a seguir para que ele tenha apenas uma expressão if: &lt;details&gt; &lt;summary&gt;Java&lt;/summary&gt;</description><pubDate>Thu, 07 Mar 2024 00:00:00 GMT</pubDate></item><item><title>Kotlin Koans BR: Tipo &quot;nenhum&quot; (Nothing)</title><link>https://rsicarelli.com/pt-br/blog/kotlin-koans-br-tipo-nenhum-nothing/</link><guid isPermaLink="true">https://rsicarelli.com/pt-br/blog/kotlin-koans-br-tipo-nenhum-nothing/</guid><description>Especifique o tipo de retorno Nothing para a função failWithWrongAge.</description><pubDate>Thu, 07 Mar 2024 00:00:00 GMT</pubDate></item><item><title>Kotlin Koans BR: Lambdas</title><link>https://rsicarelli.com/pt-br/blog/kotlin-koans-br-lambdas/</link><guid isPermaLink="true">https://rsicarelli.com/pt-br/blog/kotlin-koans-br-lambdas/</guid><description>Passe um lambda para a função anypara verificar se a coleção contém um número par.</description><pubDate>Thu, 07 Mar 2024 00:00:00 GMT</pubDate></item><item><title>Kotlin Koans BR: Classes de dados (Data Classes)</title><link>https://rsicarelli.com/pt-br/blog/kotlin-koans-br-classes-de-dados-data-classes/</link><guid isPermaLink="true">https://rsicarelli.com/pt-br/blog/kotlin-koans-br-classes-de-dados-data-classes/</guid><description>Reescreva o seguinte código para Kotlin: &lt;details&gt; &lt;summary&gt;Java&lt;/summary&gt;</description><pubDate>Thu, 07 Mar 2024 00:00:00 GMT</pubDate></item><item><title>Kotlin Koans BR: Tipagem inteligente</title><link>https://rsicarelli.com/pt-br/blog/kotlin-koans-br-tipagem-inteligente/</link><guid isPermaLink="true">https://rsicarelli.com/pt-br/blog/kotlin-koans-br-tipagem-inteligente/</guid><description>Reescreva o código fornecido usando smart casts e a expressão when do Kotlin.</description><pubDate>Thu, 07 Mar 2024 00:00:00 GMT</pubDate></item><item><title>Kotlin Koans BR: Classes Seladas</title><link>https://rsicarelli.com/pt-br/blog/kotlin-koans-br-classes-seladas/</link><guid isPermaLink="true">https://rsicarelli.com/pt-br/blog/kotlin-koans-br-classes-seladas/</guid><description>Reutilize sua solução da tarefa anterior, mas substitua a interface pela interface sealed. Assim, você não precisará mais do bloco else na expressão when.</description><pubDate>Thu, 07 Mar 2024 00:00:00 GMT</pubDate></item><item><title>Kotlin Koans BR: Alias para importação (import alias)</title><link>https://rsicarelli.com/pt-br/blog/kotlin-koans-br-alias-para-importacao-import-alias/</link><guid isPermaLink="true">https://rsicarelli.com/pt-br/blog/kotlin-koans-br-alias-para-importacao-import-alias/</guid><description>Ao importar uma classe ou função, você pode especificar um nome diferente para ela adicionando como NewName após a diretiva de importação. Isso pode ser…</description><pubDate>Sat, 06 Apr 2024 00:00:00 GMT</pubDate></item><item><title>Kotlin Koans BR: Extension functions e properties (funções e propriedades estendidas)</title><link>https://rsicarelli.com/pt-br/blog/kotlin-koans-br-extension-functions-e-properties-funcoes-e-propriedades-estendidas/</link><guid isPermaLink="true">https://rsicarelli.com/pt-br/blog/kotlin-koans-br-extension-functions-e-properties-funcoes-e-propriedades-estendidas/</guid><description>Implemente as funções de extensão Int.r() e Pair.r() e faça com que elas convertam Int e Pair em um RationalNumber.</description><pubDate>Sat, 06 Apr 2024 00:00:00 GMT</pubDate></item></channel></rss>