DEV Community

Cover image for Meu primeiro hello world em Go
Linive
Linive

Posted on

Meu primeiro hello world em Go

package main

import (
    "fmt"
)

func main {
    fmt.Println("Hello World!")
}

Por hoje é isto, obrigada por vir.

Brincadeira 🙃

Se você não entendeu o código acima, não se desespere. Hoje a minha missão é te explicar parte por parte dele. Vamos lá...

package main

1°: O que é esse tal de package main?

Bem, primeiro você tem que entender que o go trabalha com pacotes📦, esse tal de package. Cada pacote tem suas funcionalidades e se eu quero utilizar uma delas, vou ter que chamar esse pacote primeiro e só depois vou poder usar a funcionalidade dele.

Alguns pacotes são padrões da linguagem, mas eu também posso criar meus próprios packages de acordo com o meu protejo. Nem me pergunte como, porque eu ainda não sei 😛. Mas um desses pacotes deve ser o principal, main quer dizer principal. O package main é o pacote principal e só ele irá gerar um arquivo executável.

Executável é o arquivo que a gente vai rodar e assim a magia do código irá acontecer.

Então o package main indica que este arquivo, este código, será o principal. É ele que gerará nosso programa. Agora não parece tão importante, mas no futuro será, então não esqueçam dele.

Alt Text

import(
    "fmt"
)

2°: "fmt" que negócio estranho é esse?

Lembra daquela história de pacotes? Olha eles ai de novo!

Eu falei que existem pacotes que são padrões da linguagem, que cada um dos pacotes tem suas funcionalidades e que para utiliza-las precisamos chamar o pacote primeiro.

É exatamente isso que essa parte do código faz. O import é responsável por "chamar" os pacotes, ele esta importando.

Ta certo, entendi o que o import faz, mas o que é fmt?

Alt Text

Jovem, acalma teu coração 💓

fmt é nada mais, nada menos que ... um package 📦. É isso ai, fmt é um pacote padrão da linguagem que contem diversas funcionalidades, como: mostrar coisas na tela. E é exatamente isso que queremos, precisamos mostrar uma mensagem na tela, por isso vamos importa-lo.

As coisas já estão começando a fazer sentido, falta pouco agora.

func main() {

}

3°: Func main

Um código contém funções, pode conter várias delas, mas sempre vamos precisar de uma principal. Já sabemos que main quer dizer principal, então func main deve ser a função principal, certo? EXATAMENTE ISSO.

Tudo que está dentro da função principal será executado quando colocarmos nosso código para rodar. Se existir algo fora dela e não tiver nenhuma ligação com a func main, será ignorado.

Como queremos que nossa mensagem apareça, temos que coloca-la dentro da func main, caso contrário, ela será ignorada.

Por fim, mas não menos importante...

fmt.Println()

4°: Println, parece até um xingamento 🤬

Mas calma que não é...

Eu já falei tanto sobre pacotes que estou parecendo um papagaio, mas é a ultima vez 🤞.

Já estamos cansados de saber que fmt é um package, também sabemos que cada package tem sua funcionalidade e que para utilizar essa funcionalidade precisamos importar o pacote primeiro.

Já importamos o pacote fmt, agora queremos utilizar a função de mostrar coisas na tela. Para usar a função que pertence a um pacote, utilizamos a seguinte fórmula, anota ai...

Alt Text

✨pacote.NomeDaFuncionalidade✨. Um detalhe importante, a primeira letra depois do ponto fica sempre maiúscula.

O nome do pacote é fmt e a funcionalidade que queremos chamar é print. Para ficar mais fácil de lembrar, eu penso que quero "imprimir" algo na tela. Não sem se faz sentido 🤔, mas me ajuda.

Juntando tudo fica fmt.Println. O "ln" do final vem de "line", ele pula uma linha no final da mensagem, eu acho que fica mais organizado. Existem algumas variações, mas são detalhe que vamos aprendendo aos poucos.

Por fim, temos que colocar a mensagem, até agora não falamos o que queremos mostrar. Queremos dar um "hello world", então é isso que vamos escrever: fmt.Println("hello world")

Agora juntamos tudo e ...

package main

import (
    "fmt"
)

func main {
    fmt.Println("Hello World!")
}

Voilá, nosso primeiro Hello world em Go.

Alt Text

Lembrando que estou aprendendo e documentando minha evolução. Estou acompanhando um curso maravilhoso feito por Ellen Körbes, está disponível aqui.

Top comments (0)