DEV Community

Cover image for Golang básico - Declarando variáveis
Bruno Gomes
Bruno Gomes

Posted on

7 5

Golang básico - Declarando variáveis

Esse post faz parte de uma série onde pretendo compartilhar o básico essencial para desenvolver com GoLang.

A maneira mais simples de entender variáveis é lembrar que um programa funciona com entrada -> processamento -> saída. Declarar variáveis é a forma que temos de reservar espaços em memória para armazenar as entradas de dados e permitir que processamento use essas variáveis e produza algum resultado como saída.

Declarando variáveis

Em Go existem algumas maneiras de fazer isso, todas elas tem um contexto e saber onde usar vai simplificar bastante seu código.

Utilizando var com tipo explicito

Esse é tipo de declaração que usamos no inicio de uma função, quando você declara esse tipo de variável você está deixando explicito o tipo da varíavel que nos blocos seguintes vai ter o seu valor modificado (ou não). Por exemplo:

package main

import (
    "fmt"
    "runtime"
)

func main() {
    var valor int
    if runtime.NumCPU() > 0 {
        valor = runtime.NumCPU()
    }
    fmt.Println(valor)
}

Enter fullscreen mode Exit fullscreen mode

Nesse código estou declarando a variável valor de tipo int(ou seja, um número inteiro). E logo em seguida eu faço um processamento para atribuir um novo valor a essa variável.

Dica: você pode testar esse código no https://go.dev/play/

Criando e atribuindo de forma implícita

Criar variáveis implícitas é provavelmente o jeito mais fácil e prático, mas sempre se atente ao contexto. É muito comum elas serem usados dentro dos blocos, e elas normalmente são resultado da chamada a uma função ou do resultado de uma expressão, vamos ver nosso exemplo novamente:

package main

import (
    "fmt"
    "runtime"
)

func main() {
    var valor int
    if runtime.NumCPU() > 0 {
        valor = runtime.NumCPU()
    }
    maiorQueDois := runtime.NumCPU() > 2
    fmt.Println(valor, maiorQueDois)
}

Enter fullscreen mode Exit fullscreen mode

Agora nós estamos criando a variável maiorQueDois, ela é resultado da expressão runtime.NumCPU() > 2 e implicitamente o Go decide que o tipo dessa variável é bool.

Grupos de variáveis

O última forma que vamos abordar é o grupo de variáveis:

package main

import (
    "fmt"
    "runtime"
)

func main() {
    var (
        valor     = 4
        categoria = "brabo"
    )

    if runtime.NumCPU() > 0 {
        valor = runtime.NumCPU()
    }
    maiorQueDois := valor > 2
    if valor <= 4 {
        categoria = "mais ou menos"
    }
    fmt.Println(valor, maiorQueDois, categoria)
}
Enter fullscreen mode Exit fullscreen mode

Grupos são uma combinação das duas formas, precisamos do var, seguido de parêntesis e as variáveis separadas por linhas. No nosso caso valor e categoria.
Perceba, quando você cria um grupo você está expressando que essas variáveis tem alguma conexão, no meu exemplo a categoria é dependente do valor.

Resumo

  • Declaração explicita é feita com var nomeVariavel tipo
  • Declaração implícita utiliza nomeVariavel := expressão
  • Grupo de variáveis utilizam:
var (
   nomeVariavel = `valor` ou `expressão`
)
Enter fullscreen mode Exit fullscreen mode
  • Go é uma linguagem muito simples e de poucos comandos, sempre que for usar um tipo de declaração tente expressar sua intenção. Simplicidade e expressividade!

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay