DEV Community

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

Posted on

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!

Top comments (0)