Compreendendo Variáveis em GoLang

Publicado por Jean Branco
21:00

GoLang MiniCurso - Aula 2: Variáveis

Olá! Seja bem-vindo a mais uma aula do MiniCurso de Golang! Nesta aula, vamos explorar de forma detalhada o que são variáveis e alguns conceitos relacionados. Vamos começar?

O que são Variáveis?

Variáveis são espaços na memória do seu computador que armazenam valores para uso posterior. Em termos simples, uma variável é como uma prateleira onde você pode guardar um item. Cada item na prateleira tem um Identificador, um Valor e um Tipo. Imagine uma prateleira com um carrinho de brinquedo: o identificador é carrinho, o valor é Carrinho da Hotwheels, e o tipo é Brinquedo.

Tipos de Variáveis

Antes de usar variáveis, é importante entender os principais tipos de variáveis em Golang:

Declarando Variáveis

Declarar uma variável reserva um espaço na memória para ela ser usada mais tarde.

var nome string // Declarando uma variável com o identificador "nome" do tipo "string"
var idade int   // Declarando uma variável com o identificador "idade" do tipo "int"

Com isso, reservamos dois espaços na memória para as variáveis e agora podemos atribuir valores a elas.

Atribuição de Valor

Após declarar uma variável, podemos atribuir um valor a ela. Sem valor, a variável não será útil em nosso programa.

var nome string // Declarando a variável
var idade int   // Declarando a variável

nome = "João"   // Atribuindo valor à variável (no caso, uma string)
idade = 20      // Atribuindo valor à variável (no caso, um int)

Lembre-se de que, em Golang, variáveis declaradas devem ser utilizadas. Caso contrário, o compilador apontará um erro.

Declarando e Atribuindo Valor

É possível declarar e atribuir um valor a uma variável em uma única linha de código usando o operador de atribuição =.

var nome string = "João" // Declarando e atribuindo valor
var idade int = 20

Na maioria dos casos, usaremos a declaração e atribuição em uma única linha. Apenas em casos específicos a variável não terá um valor inicial.

Reatribuindo Valor

Após a variável ser declarada, você pode modificá-la conforme necessário em seu programa. Veja um exemplo:

var nome string = "Pedro" // Declarando com um valor inicial

nome = "Maria" // Reatribuindo valor 
nome = "Isabela"
nome := "Matheus" // Declaração e atribuição com forma curta

nome = "Gabriel"
nome = "Lucas"
nome = "Murilo"

Após a declaração inicial, não é possível redeclarar a variável com o operador := ou a palavra-chave var. Somente a atribuição de novo valor é permitida, pois a declaração reserva o espaço na memória.

Imprimindo o Valor da Variável

Se o seu editor de código, como o VS Code, apontar erro para a variável, é porque ela foi declarada mas não utilizada. Para evitar isso, você pode imprimir o valor da variável usando a função Println do pacote fmt.

package main

import "fmt"

func main() {
    var nome string
    nome = "Bruno"
    fmt.Println(nome) // Imprime o valor contido na variável "nome", que é "Bruno"
}

Formas de Declarar Variáveis

Em Go, existem duas formas principais de declarar variáveis:

Forma curta (com operador :=):

nome := "Jean" // Declarando a variável "nome" e atribuindo o valor "Jean"
fmt.Println(nome) // Imprimindo a variável no console

A forma curta é chamada de declaração com tipo implícito, pois o tipo da variável é inferido a partir do valor atribuído, ou seja, o compilador Go decide o tipo da variável para você.

Forma extensa (utilizando a palavra-chave var):

var nome string = "Jean" // Declarando a variável "nome" do tipo "string" e atribuindo o valor "Jean"
fmt.Println(nome) // Imprimindo a variável no console

A forma extensa é chamada de declaração com tipo explícito, pois o tipo da variável é especificado pelo desenvolvedor. Uma vez que a variável é definida com um tipo, não será possível atribuir um valor de tipo diferente a ela.

Implícito X Explícito

Em Golang, a escolha do tipo de declaração deve ser feita com base no contexto:

Implícito:

func main() {
    nome := "Matheus" // Usado apenas dentro da função, e deve ter um valor inicial.
}

Explícito:

var nome string = "Igor"

func main() {
    var idade = 30
    fmt.Println(nome, idade)
}

Cada tipo de declaração tem seus casos específicos de uso. A declaração explícita é mais legível, pois o tipo é claramente especificado, enquanto a declaração implícita deixa o tipo para o compilador decidir.

Tipagem Estática Forte

Golang é uma linguagem de tipagem estática forte. Isso significa que, uma vez que uma variável é declarada com um tipo, você não pode atribuir um valor de tipo diferente a ela.

var variavel string // Definindo explicitamente que "variavel" será do tipo "string"

variavel = "Olá" // Atribuindo valores do tipo "string"
fmt.Println(variavel)

variavel = "Casa"
fmt.Println(variavel)

variavel = "Mundo"
fmt.Println(variavel)

variavel = 20 // O programa irá parar aqui por causa de um erro de tipo
fmt.Println(variavel)

variavel = "285" // Este ponto nunca será alcançado devido ao erro anterior
fmt.Println(variavel)
variavel := 12 // Declaração implícita com valor "12", o compilador define que a variável é do tipo "int"
fmt.Println(variavel)

variavel = -475
fmt.Println(variavel)

variavel = -1747
fmt.Println(variavel)

variavel = "Olá" // O programa irá parar aqui devido a um erro de tipo
fmt.Println(variavel)

Linguagens como JavaScript ou Python possuem tipagem dinâmica, permitindo que uma variável altere seu tipo após a declaração. Contudo, a tipagem estática de Go ajuda a evitar erros de tipo e promove a segurança do tipo em tempo de compilação.

Regras de Nomenclatura

Ao nomear variáveis, é importante seguir algumas boas práticas e regras da linguagem:

Boas Práticas:

Regras de Nomenclatura:

Formas de Nomear Variáveis:

Camel Case: Cada palavra, exceto a primeira, começa com letra maiúscula:

meuNomeCompleto := "Jean Lourenço Branco"

Pascal Case: Cada palavra começa com letra maiúscula:

MeuNomeCompleto := "Jean Lourenço Branco"

Snake Case: Cada palavra é separada por um caractere sublinhado (_):

meu_nome_completo := "Jean Lourenço Branco"

Cada forma de nomenclatura pode ser usada dependendo do contexto e das convenções adotadas pela equipe ou projeto.

Finalização

Parabéns! Você chegou ao final da aula. Embora possa parecer um pouco cansativo, agora você tem um entendimento sólido sobre variáveis em Golang. Lembre-se de praticar para fixar os conceitos e aplicá-los em seus projetos futuros.

Até a próxima aula e boa codificação! 🚀

Comentários

Esta publicação ainda não recebeu comentários. Seja o primeiro!