DEV Community

Linive
Linive

Posted on

Print vs Println vs Printf. Qual a diferença?

Como vocês estão? Espero que estejam bem 🙂

Hoje vamos falar um pouco sobre o print e suas variações

Vocês lembram do print? Falei sobre a existência dele no post sobre o "hello world", agora vamos entrar em mais detalhes.

Alt Text

O print é uma funcionalidade do package fmt e já sabemos que ele é responsável por mostrar coisas na tela. A diferença entre ele, o println e o printf pode parecer sutil, mas na prática vai fazer muita diferença.

frase := "sou básico"
fmt.Print("Eu sou o print e", frase)

Print

Ele é o básicão, faz exatamente o que se propõe a fazer, exibir mensagens na tela. Nada mais, nada menos.

Notem que podemos colocar textos e as variáveis juntas, separando apenas com virgula.

Alt Text

x := "eu pulo linhas"
fmt.Println("Eu sou o println e", x)

Println

O ln vem de line. O println é o único que pula uma linha após mostrar a mensagem. Fica mas legível e organizado. Se quisermos pular linha no print ou no printf, temos que utilizar o \n: fmt.Print("Quero pular uma linha\n").

Aqui também podemos juntar textos e variáveis, separando com a virgula.

frase := "não tenho nada de básico" 

fmt.Printf("Eu sou o printf e %v", frase)

Printf

Logo de cara percebemos que estamos usando um negócio novo, %v é um format verb. Existem muitos na linguagem, e o printf permite que utilizemos.

Primeiro devemos saber que esse "v" vem de value, estou querendo mostrar o valor de algo, ou seja, o valor da minha variável.

Vocês devem estar se perguntando: Por que usar o format verb?

A resposta é simples, no printf é obrigatório utiliza-lo. Não podemos simplesmente colocar o nome da variável separado por virgula, como fizemos no print e no println.

Devemos colocar o format verb dentro do texto, como se fosse parte do que queremos mostrar fmt.Printf("Quero mostrar essa menagem %v"). Claro que não queremos mostrar um %v na mensagem, não faz sentido, tanto é que se deixarmos assim, o código vai dar erro. Então como fazemos?

Queremos que no lugar do %v apareça o valor da nossa variável, então temos liga-lo a ela. Isso é simples de fazer.

nome := "Korra"
idade := 17

fmt.Printf("A %v tem %v anos", nome, idade)

Percebam que o primeiro %v deve ser subsistido pela variável nome, já o segundo deve ser subsistido pela variável idade. Para fazer isso basta colocar uma virgula depois da mensagem e chamar as variáveis na ordem correta. Primeiro nome e depois a idade.

Agora que entendemos basicamente como os format verbs funcionam, vamos conhecer mais alguns deles. Eles podem fazer coisas muito legais.

%v : para valor
%T : para tipo da variável
%d : para números decimais
%b : para números binários 
%#u : para unicode 
%#x : para números hexadecimal 

Se vocês quiserem saber mais, a documentação da linguagem tem a lista completa dos format verbs. 👉aqui👈

Alt Text

Mais um dia de estudos realizado com sucesso✔️.

Se você tem interesse em estudar go, deu sorte. Se liga nesse curso maravilhoso, produzido por uma pessoa incrível. É por lá que eu estou estudando 👍.

Alt Text

Top comments (2)

Collapse
 
chapzin profile image
Ricardo Augusto Barroso Gomes

Parabéns menina, continue assim postando bastante conteúdo legal

Collapse
 
linivecristine profile image
Linive

Muito obrigada! Esta sendo incrível a experiência de aprender algo novo e tentar compartilhar