<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Caio Rodrigues BackEnd Java</title>
    <description>The latest articles on DEV Community by Caio Rodrigues BackEnd Java (@caio_rodriguesbackend).</description>
    <link>https://dev.to/caio_rodriguesbackend</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2705347%2Fd9c1e5d5-722f-44cd-8f52-35b22a904812.png</url>
      <title>DEV Community: Caio Rodrigues BackEnd Java</title>
      <link>https://dev.to/caio_rodriguesbackend</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/caio_rodriguesbackend"/>
    <language>en</language>
    <item>
      <title>Java em 2025: A Evolução da Linguagem e o Futuro da Programação</title>
      <dc:creator>Caio Rodrigues BackEnd Java</dc:creator>
      <pubDate>Fri, 02 May 2025 02:58:03 +0000</pubDate>
      <link>https://dev.to/caio_rodriguesbackend/java-em-2025-a-evolucao-da-linguagem-e-o-futuro-da-programacao-8ol</link>
      <guid>https://dev.to/caio_rodriguesbackend/java-em-2025-a-evolucao-da-linguagem-e-o-futuro-da-programacao-8ol</guid>
      <description>&lt;p&gt;O Java é uma linguagem que nasceu em 1995, e é comum pensar que se trata de uma linguagem que parou no tempo. Outro dia, gravando um vídeo sobre a relevância do Java em 2025, fiz quatro trechos de código (2 trechos "antes" e 2 trechos "depois") para exemplificar a evolução da linguagem, principalmente no quesito de modernização e adaptação à evolução do mercado (vide abaixo).&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Código Antes: A Verbosidade do Passado&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;Object&lt;/span&gt; &lt;span class="n"&gt;obj&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"texto"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt; &lt;span class="k"&gt;instanceof&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;toUpperCase&lt;/span&gt;&lt;span class="o"&gt;());&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"ativo"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;switch&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="s"&gt;"ativo"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
        &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Usuário ativo"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="s"&gt;"inativo"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
        &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Usuário inativo"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;default&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
        &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Status desconhecido"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Código Depois: Modernização e Clareza&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;Object&lt;/span&gt; &lt;span class="n"&gt;obj&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"texto"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt; &lt;span class="k"&gt;instanceof&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;toUpperCase&lt;/span&gt;&lt;span class="o"&gt;());&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"ativo"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;resultado&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;switch&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="s"&gt;"ativo"&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="s"&gt;"Usuário ativo"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="s"&gt;"inativo"&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="s"&gt;"Usuário inativo"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="s"&gt;"Status desconhecido"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;};&lt;/span&gt;

&lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;resultado&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;O Código Antes e Depois: O Que Mudou&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;No primeiro exemplo temos um trecho do antigo &lt;strong&gt;cast&lt;/strong&gt; (cast forçado), onde era necessário converter um objeto em outro tipo. No código atualizado, vemos a &lt;strong&gt;feature Pattern Matching&lt;/strong&gt;, que permite alcançar o mesmo resultado de forma mais limpa, sem a necessidade de fazer o cast manualmente.&lt;/p&gt;

&lt;p&gt;No segundo exemplo, o tradicional &lt;strong&gt;switch case&lt;/strong&gt; foi simplificado, oferecendo &lt;strong&gt;menos verbosidade&lt;/strong&gt; e mais clareza no código, por meio da &lt;strong&gt;expressão de switch&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Esses são apenas alguns pequenos exemplos de como a linguagem foi modernizada. Além disso, novas features como &lt;strong&gt;Virtual Threads&lt;/strong&gt;, &lt;strong&gt;Sealed Classes&lt;/strong&gt; e outras ainda continuam a reforçar o papel do Java na programação moderna.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;O Ecossistema Java: Comunidade e Ferramentas que Impulsionam a Linguagem&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Java é uma das linguagens com o melhor &lt;strong&gt;ecossistema&lt;/strong&gt; e a maior &lt;strong&gt;comunidade&lt;/strong&gt; do mundo. Temos &lt;strong&gt;frameworks robustos&lt;/strong&gt; como &lt;strong&gt;Spring&lt;/strong&gt;, &lt;strong&gt;Quarkus&lt;/strong&gt; e &lt;strong&gt;Micronaut&lt;/strong&gt;. Empresas investem fortemente em ferramentas de produtividade como a &lt;strong&gt;JetBrains&lt;/strong&gt;, que oferece a poderosa (e melhor IDE) &lt;strong&gt;IntelliJ IDEA&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A comunidade de Java é extremamente ativa: para qualquer problema, há um tutorial, artigo, vídeo aula ou discussão no StackOverflow com a solução. Este ecossistema sólido é fundamental, pois ninguém quer iniciar sua trajetória com uma tecnologia sem o devido suporte.&lt;/p&gt;

&lt;p&gt;Embora outras linguagens como &lt;strong&gt;Node.js&lt;/strong&gt; e &lt;strong&gt;Python&lt;/strong&gt; também ofereçam forte apoio comunitário, o Java se destaca em termos de &lt;strong&gt;suporte&lt;/strong&gt; e &lt;strong&gt;ferramentas&lt;/strong&gt;. É uma das linguagens mais maduras e completas para o desenvolvimento de software.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Java no Mercado de Trabalho: Oportunidades e Crescimento&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Outro pilar fundamental ao avaliar uma linguagem de programação é a &lt;strong&gt;demanda no mercado&lt;/strong&gt; e a &lt;strong&gt;perspectiva de carreira&lt;/strong&gt; para desenvolvedores ativos e em formação.&lt;/p&gt;

&lt;p&gt;Atualmente, temos &lt;strong&gt;Big Techs&lt;/strong&gt;, &lt;strong&gt;startups&lt;/strong&gt; e empresas de diversos segmentos com &lt;strong&gt;muitas vagas em aberto&lt;/strong&gt;. O mercado de Java continua aquecido, com &lt;strong&gt;muitos produtos em produção&lt;/strong&gt; e novas &lt;strong&gt;features&lt;/strong&gt; e &lt;strong&gt;produtos&lt;/strong&gt; sendo lançados continuamente.&lt;/p&gt;

&lt;p&gt;A conclusão é clara: &lt;strong&gt;há vagas&lt;/strong&gt;, e muitas delas. Em alguns momentos, o mercado chegou a ter mais &lt;strong&gt;vagas do que profissionais para ocupá-las&lt;/strong&gt;. Claro, isso não significa que é fácil, o mercado de trabalho é desafiador. A competição é acirrada, e só os mais qualificados permanecem. No entanto, &lt;strong&gt;Java oferece uma excelente base&lt;/strong&gt; para quem deseja iniciar a carreira e continuar crescendo, com a possibilidade de trocar de emprego e projetos conforme se adquire mais experiência.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Java: Uma Jornada de Evolução e Relevância no Mercado&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Tecnologia é algo realmente engraçado. Um dia, linguagens novas surgem e colocam em cheque aquelas que são consolidadas, classificando-as como antigas, lentas e apenas sustentadas por legados. No entanto, no dia seguinte, essas linguagens evoluem, lançando novas &lt;strong&gt;features&lt;/strong&gt; que reafirmam sua relevância e competitividade.&lt;/p&gt;

&lt;p&gt;O &lt;strong&gt;Java&lt;/strong&gt; está em constante evolução, e ao olhar para trás, vemos que a linguagem se adaptou e continuou a ser uma das mais poderosas do mercado. As versões mais recentes (14, 17, 21) demonstram como o Java ainda é moderno, eficiente e preparado para o futuro da programação.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>java</category>
      <category>architecture</category>
      <category>development</category>
    </item>
    <item>
      <title>Desbravando Go: Capítulo 2 – Estrutura dos Programas</title>
      <dc:creator>Caio Rodrigues BackEnd Java</dc:creator>
      <pubDate>Tue, 21 Jan 2025 03:48:43 +0000</pubDate>
      <link>https://dev.to/caio_rodriguesbackend/desbravando-go-capitulo-2-estrutura-dos-programas-530</link>
      <guid>https://dev.to/caio_rodriguesbackend/desbravando-go-capitulo-2-estrutura-dos-programas-530</guid>
      <description>&lt;p&gt;Continuando nossa jornada com Go, neste capítulo exploraremos como os programas são estruturados, incluindo regras para nomes, declarações e variáveis. Se você está começando, este é um ótimo ponto para entender a base da linguagem! 🚀&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Estrutura dos Programas&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Nomes em Go&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Em Go, nomes como funções, variáveis, constantes, tipos, rótulos de instruções e pacotes seguem algumas regras simples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Devem começar com uma letra ou underline (&lt;strong&gt;_&lt;/strong&gt;).&lt;/li&gt;
&lt;li&gt;Podem conter letras, números e underlines adicionais.&lt;/li&gt;
&lt;li&gt;São &lt;strong&gt;case-sensitive&lt;/strong&gt;, ou seja, &lt;strong&gt;heapSort&lt;/strong&gt; e &lt;strong&gt;Heapsort&lt;/strong&gt; são tratados como nomes diferentes.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Visibilidade e Escopo&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Declarações feitas dentro de funções têm escopo local.&lt;/li&gt;
&lt;li&gt;Declarações fora de funções são visíveis em todo o pacote.&lt;/li&gt;
&lt;li&gt;A visibilidade fora do pacote depende da capitalização:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Inicia com maiúscula:&lt;/strong&gt; visível fora do pacote (exemplo: &lt;strong&gt;Println&lt;/strong&gt; do pacote &lt;strong&gt;fmt&lt;/strong&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inicia com minúscula:&lt;/strong&gt; visível apenas dentro do pacote.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Por convenção, nomes de pacotes começam sempre com letras minúsculas.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Declarações em Go&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Declarações servem para nomear entidades e especificar suas propriedades. Em Go, existem quatro tipos principais:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;var&lt;/strong&gt;: Declara variáveis.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;const&lt;/strong&gt;: Define constantes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;type&lt;/strong&gt;: Cria tipos personalizados.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;func&lt;/strong&gt;: Declara funções.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Exemplo prático:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight go"&gt;&lt;code&gt;&lt;span class="k"&gt;package&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="s"&gt;"fmt"&lt;/span&gt;

&lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="n"&gt;seasonQuantity&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="m"&gt;4&lt;/span&gt;

&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;season&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;seasonQuantity&lt;/span&gt;
    &lt;span class="n"&gt;fmt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Quantas temporadas tem essa série?"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;fmt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;season&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Neste código:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;seasonQuantity&lt;/strong&gt; e &lt;strong&gt;main&lt;/strong&gt; são declarações no nível do pacote (&lt;em&gt;package-level&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;season&lt;/strong&gt; é uma declaração local, válida apenas dentro da função &lt;strong&gt;main&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Variáveis em Go&lt;/strong&gt;
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Declaração com var&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;A declaração &lt;strong&gt;var&lt;/strong&gt; permite criar variáveis, definir seus tipos e atribuir valores iniciais. A sintaxe geral é:&lt;br&gt;&lt;br&gt;
&lt;strong&gt;var nome tipo = valor&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tipo&lt;/strong&gt; ou &lt;strong&gt;valor&lt;/strong&gt; podem ser omitidos, mas não ambos.&lt;/li&gt;
&lt;li&gt;Se o valor inicial não for especificado, um &lt;strong&gt;valor padrão&lt;/strong&gt; será atribuído:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;0&lt;/strong&gt; para números.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;false&lt;/strong&gt; para booleanos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;""&lt;/strong&gt; (string vazia) para strings.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;nil&lt;/strong&gt; para tipos de referência ou interface.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Exemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight go"&gt;&lt;code&gt;&lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="kt"&gt;string&lt;/span&gt;
&lt;span class="n"&gt;fmt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c"&gt;// Saída: "" (string vazia)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Declarações múltiplas&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Você pode declarar várias variáveis em uma única instrução:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight go"&gt;&lt;code&gt;&lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;quantidade&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="c"&gt;// Três variáveis do tipo int&lt;/span&gt;
&lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"Siga o blog"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="c"&gt;// Tipos diferentes, valores atribuídos&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  &lt;strong&gt;Declaração curta de variáveis&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Dentro de funções, existe uma forma mais concisa de declarar variáveis:&lt;br&gt;&lt;br&gt;
&lt;strong&gt;nome := valor&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Nessa sintaxe, o tipo é inferido automaticamente com base no valor atribuído.&lt;/p&gt;

&lt;p&gt;Exemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight go"&gt;&lt;code&gt;&lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="s"&gt;"Já segue no YouTube também!!!"&lt;/span&gt;
&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="m"&gt;7&lt;/span&gt;
&lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="m"&gt;98.2&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Também é possível declarar múltiplas variáveis de forma curta:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight go"&gt;&lt;code&gt;&lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;num&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;55&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;230&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Dicas sobre :=&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;:=&lt;/strong&gt; é uma &lt;strong&gt;declaração&lt;/strong&gt; (cria a variável).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;=&lt;/strong&gt; é uma &lt;strong&gt;atribuição&lt;/strong&gt; (atualiza o valor de uma variável já existente).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use a declaração curta para simplificar seu código, especialmente em estruturas como loops.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Considerações&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Gostou do conteúdo? 🚀 Deixe seu comentário ou compartilhe suas experiências com Go!&lt;/p&gt;

&lt;p&gt;Nos próximos capítulos, exploraremos novos exemplos e conceitos que vão aprofundar nosso conhecimento sobre essa linguagem poderosa. Vamos juntos nessa jornada! 💻&lt;/p&gt;

</description>
      <category>go</category>
      <category>backend</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Desbravando Go: Capítulo 1 – Primeiros Passos na Linguagem</title>
      <dc:creator>Caio Rodrigues BackEnd Java</dc:creator>
      <pubDate>Tue, 14 Jan 2025 03:40:59 +0000</pubDate>
      <link>https://dev.to/caio_rodriguesbackend/desbravando-go-capitulo-1-primeiros-passos-na-linguagem-5dnb</link>
      <guid>https://dev.to/caio_rodriguesbackend/desbravando-go-capitulo-1-primeiros-passos-na-linguagem-5dnb</guid>
      <description>&lt;p&gt;Recentemente comecei a explorar a linguagem Go e decidi compartilhar o que aprendi. Este é o primeiro capítulo de uma série sobre Go para iniciantes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Como Go Funciona
&lt;/h3&gt;

&lt;p&gt;Go é uma linguagem compilada. Assim que o comando de compilação for executado, todo o código-fonte de um ou mais arquivos com a extensão &lt;strong&gt;.go&lt;/strong&gt; será traduzido para linguagem de máquina.&lt;/p&gt;

&lt;p&gt;O comando mais simples para executar diretamente um programa é o &lt;strong&gt;run&lt;/strong&gt;, ideal para testes rápidos. No entanto, caso o programa tenha uso recorrente ou produção, é possível gerar um binário executável utilizando o comando &lt;strong&gt;build&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Estrutura
&lt;/h3&gt;

&lt;p&gt;Todo código Go é organizado em pacotes, que podem ser comparados a bibliotecas ou módulos em outras linguagens, embora sejam diferentes da estrutura de pacotes no Java, por exemplo. Um pacote é composto por um ou mais arquivos &lt;strong&gt;.go&lt;/strong&gt; dentro de um mesmo diretório.&lt;/p&gt;

&lt;p&gt;Cada arquivo começa com a declaração do pacote, como no exemplo: &lt;strong&gt;package main&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Em seguida, vêm os &lt;strong&gt;imports&lt;/strong&gt;, adicionados com a palavra-chave &lt;strong&gt;import&lt;/strong&gt;. Com isso, declaramos os pacotes externos necessários para a execução do programa. Assim como em outras linguagens, utilizamos diversos pacotes para realizar tarefas específicas. Porém, o compilador de Go é rigoroso e não permite a compilação caso existam &lt;strong&gt;imports&lt;/strong&gt; faltando ou desnecessários. Isso garante que o arquivo-fonte contenha apenas o necessário para a execução do programa.&lt;/p&gt;

&lt;p&gt;Funções em Go são declaradas com a palavra-chave &lt;strong&gt;func&lt;/strong&gt;, seguida pelo nome da função e os parâmetros (se houver). A estrutura básica é:&lt;br&gt;&lt;br&gt;
&lt;strong&gt;func nomeDaFuncao(parâmetros) { ... }&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sintaxe
&lt;/h3&gt;

&lt;p&gt;Go não exige ponto e vírgula ao final das linhas, exceto quando duas ou mais declarações estão na mesma linha.&lt;/p&gt;

&lt;p&gt;O compilador interpreta quebras de linha como terminação de instruções. Por isso, ao declarar uma função, a abertura de chaves &lt;strong&gt;{&lt;/strong&gt; deve estar na mesma linha da declaração, como no exemplo:&lt;br&gt;&lt;br&gt;
&lt;strong&gt;func main() {&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Hello, World
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight go"&gt;&lt;code&gt;&lt;span class="k"&gt;package&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="s"&gt;"fmt"&lt;/span&gt;

&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt; &lt;span class="n"&gt;fmt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello, World"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Considerações
&lt;/h3&gt;

&lt;p&gt;Gostou do conteúdo? Deixe seu comentário ou compartilhe suas experiências com Go! Nos próximos capítulos, evoluíremos com outros exemplos simples para estruturar nosso conhecimento&lt;/p&gt;

</description>
      <category>go</category>
      <category>backend</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
