<?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: William Mateus Duarte</title>
    <description>The latest articles on DEV Community by William Mateus Duarte (@duarte2025).</description>
    <link>https://dev.to/duarte2025</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%2F171797%2F3f55f6fc-2662-45c0-94b0-d9043e5d1a9c.png</url>
      <title>DEV Community: William Mateus Duarte</title>
      <link>https://dev.to/duarte2025</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/duarte2025"/>
    <language>en</language>
    <item>
      <title>Ponteiros em Golang</title>
      <dc:creator>William Mateus Duarte</dc:creator>
      <pubDate>Fri, 27 Mar 2020 14:34:05 +0000</pubDate>
      <link>https://dev.to/duarte2025/ponteiros-em-golang-1ab1</link>
      <guid>https://dev.to/duarte2025/ponteiros-em-golang-1ab1</guid>
      <description>&lt;p&gt;Ponteiros me lembra o primeiro e segundo semestre da faculdade, ao aprender algoritmos e estruturas de dados em C. Eles eram a principal dor de cabeça em meus estudos. Algumas linguagens como Java, C/C++ e o Go têm conceitos de ponteiros, que permitem manipular variáveis na forma de endereço de memória. O ponteiro talvez não seja o conteúdo mais importante de Golang, mas é usado em quase todo o seu código, se você estiver trabalhando em um projeto Go com alto desempenho e padrão.&lt;/p&gt;

&lt;h2&gt;
  
  
  Os ponteiros no mundo real
&lt;/h2&gt;

&lt;p&gt;Podemos relacionar os ponteiros das linguagens de programação com o mundo real, de forma análoga. Atualmente está popular a entregas online, que pela comodidade receber em casa se torna atrativa. Pense é mais fácil passar o endereço da sua casa para o entregador, do que sua casa ir até o entregador. O problema é se você enviar o endereço errado. Você não receberá a sua encomenda.&lt;/p&gt;

&lt;h2&gt;
  
  
  Voltando ao mundo da Programação
&lt;/h2&gt;

&lt;p&gt;Digamos que exista uma variável e ela seja usada em várias funções ao mesmo tempo. Você deseja que ele seja atualizado automaticamente sempre que alguma função alterar seu valor para permitir que outras pessoas possam obter o novo valor. Ponteiro é o conceito que pode resolver essa situação.&lt;br&gt;
&lt;/p&gt;

&lt;div class="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="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;
  &lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="m"&gt;0&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;Printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Antes:&lt;/span&gt;&lt;span class="se"&gt;\t&lt;/span&gt;&lt;span class="s"&gt;x=%d&lt;/span&gt;&lt;span class="se"&gt;\t&lt;/span&gt;&lt;span class="s"&gt;y=%d&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="n"&gt;atualizando&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;y&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;Printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Depois:&lt;/span&gt;&lt;span class="se"&gt;\t&lt;/span&gt;&lt;span class="s"&gt;x=%d&lt;/span&gt;&lt;span class="se"&gt;\t&lt;/span&gt;&lt;span class="s"&gt;y=%d&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="n"&gt;atualizando&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="m"&gt;10&lt;/span&gt;
  &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="m"&gt;10&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;Printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"inside:&lt;/span&gt;&lt;span class="se"&gt;\t&lt;/span&gt;&lt;span class="s"&gt;x=%d&lt;/span&gt;&lt;span class="se"&gt;\t&lt;/span&gt;&lt;span class="s"&gt;y=%d&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c"&gt;/*
&amp;gt;&amp;gt;&amp;gt; Saída &amp;lt;&amp;lt;&amp;lt;
Antes:  x=0  y=0
Dentro da função: x=10 y=10
Depois: x=0  y=10
*/&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;No exemplo assim podemos ver, que os valores após passar pela função &lt;em&gt;atualizando&lt;/em&gt;, ficaram o seguinte x permaneceu o mesmo e o y atualizou. Isso acontece pelo fato de x ser passado como valor e y como referência. Mas a diferença é antes de passar y para a função de atualizando, ela é convertida em ponteiro e enviada para a função. Portanto, a função obterá o endereço de memória de y e o utilizará para alterar o valor de y diretamente.&lt;/p&gt;

</description>
      <category>go</category>
    </item>
    <item>
      <title>What was your first job?</title>
      <dc:creator>William Mateus Duarte</dc:creator>
      <pubDate>Fri, 21 Jun 2019 12:23:48 +0000</pubDate>
      <link>https://dev.to/duarte2025/what-was-your-first-job-1d74</link>
      <guid>https://dev.to/duarte2025/what-was-your-first-job-1d74</guid>
      <description>&lt;p&gt;What was your first job?&lt;/p&gt;

</description>
      <category>career</category>
      <category>beginners</category>
      <category>startup</category>
    </item>
  </channel>
</rss>
