Roadmap Golang: Váriaveis no Go
O Golang, ou simplesmente Go, é uma linguagem de programação criada pelo Google em 2007. Foi projetada para ser simples, eficiente e altamente concorrente. Neste artigo, quero explicar e entender melhor as variáveis.
Instalando o Golang
Antes de começar, é necessário instalar o Golang em seu sistema. Você pode baixar o instalador oficial no site golang.org. Após a instalação, verifique se tudo está funcionando corretamente executando o comando:
go version
Se tudo estiver correto, você verá a versão instalada do Go.
Primeiro Programa em Go
Vamos começar com um simples programa “Hello, World!” para garantir que nosso ambiente está configurado corretamente.
Crie um arquivo chamado main.go e adicione o seguinte código:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
Para executar o programa, use o comando:
go run main.go
Você deve ver a mensagem “Hello, World!” no terminal.
Variáveis em Go
Variáveis são essenciais em qualquer linguagem de programação, e Go oferece diversas formas de declarar e inicializar variáveis. Vamos ver algumas dessas formas.
Declaração de Variáveis
A forma mais básica de declarar uma variável em Go é utilizando a palavra-chave var. Aqui está um exemplo:
package main
import "fmt"
func main() {
var nome string
nome = "Alícia"
fmt.Println(nome)
}
Neste exemplo, declaramos uma variável nome do tipo string e a inicializamos com o valor “Alícia”.
Declaração e Inicialização
Podemos simplificar a declaração e inicialização em uma única linha:
package main
import "fmt"
func main() {
var idade int = 25
fmt.Println(idade)
}
Inferência de Tipo
Go possui um recurso chamado inferência de tipo, onde o compilador deduz o tipo da variável com base no valor atribuído. Para isso, usamos o operador curto :=:
package main
import "fmt"
func main() {
altura := 1.75
fmt.Println(altura)
}
Aqui, a variável altura é declarada e inicializada com o valor 1.75, e o compilador infere que seu tipo é float64.
Variáveis Múltiplas
Go permite declarar e inicializar múltiplas variáveis em uma única linha:
package main
import "fmt"
func main() {
var x, y, z int = 1, 2, 3
fmt.Println(x, y, z)
}
Ou usando inferência de tipo:
package main
import "fmt"
func main() {
a, b, c := 4, 5.5, "hello"
fmt.Println(a, b, c)
}
Zero Values
Em Go, variáveis declaradas sem uma inicialização explícita recebem um valor padrão, chamado de “zero value”. Estes valores são 0 para números, false para booleanos, e "" (string vazia) para strings.
package main
import "fmt"
func main() {
var numero int
var texto string
var booleano bool
fmt.Println(numero) // 0
fmt.Println(texto) // ""
fmt.Println(booleano) // false
}
Tipos de Dados
Go suporta diversos tipos de dados, incluindo:
- int: números inteiros
- float64: números de ponto flutuante
- string: sequências de caracteres
- bool: valores booleanos (true/false)
Exemplo Prático
Vamos criar um programa que utiliza diferentes tipos de variáveis e realiza operações básicas:
package main
import "fmt"
func main() {
var a int = 10
var b float64 = 25.5
var c string = "Go"
var d bool = true
fmt.Println("a:", a)
fmt.Println("b:", b)
fmt.Println("c:", c)
fmt.Println("d:", d)
// Operações básicas
soma := a + int(b) // Convertendo b para int
fmt.Println("Soma:", soma)
}
Recaptulando
Tipos de Variáveis
Go é uma linguagem estaticamente tipada, o que significa que cada variável deve ter um tipo definido em tempo de compilação. Aqui estão alguns dos tipos básicos:
- Tipos Numéricos:
- Inteiros:
int,int8,int16,int32,int64 - Flutuantes:
float32,float64 - Números complexos:
complex64,complex128var x int = 10 var y float64 = 3.14
- Inteiros:
- Strings:
- Cadeias de caracteres são declaradas usando o tipo
string.var saudacao string = "Olá, mundo!"
- Cadeias de caracteres são declaradas usando o tipo
- Booleanos:
- Variáveis booleanas podem ser
trueoufalse.var ativo bool = true
- Variáveis booleanas podem ser
Variáveis Compostas
- Arrays:
- Um array tem tamanho fixo e elementos do mesmo tipo.
var numeros [5]int numeros[0] = 10 numeros[1] = 20
- Um array tem tamanho fixo e elementos do mesmo tipo.
- Slices:
- Um slice é uma sequência dinâmica de elementos de um mesmo tipo.
var nomes []string nomes = append(nomes, "Carlos") nomes = append(nomes, "Ana")
- Um slice é uma sequência dinâmica de elementos de um mesmo tipo.
- Maps:
- Um map é uma coleção de pares chave/valor.
var idadePorNome map[string]int idadePorNome = make(map[string]int) idadePorNome["Carlos"] = 30 idadePorNome["Ana"] = 25
- Um map é uma coleção de pares chave/valor.
Constantes
Além das variáveis, Go permite a definição de constantes que não podem ser alteradas após a inicialização.
const pi = 3.14159
const nome = "Golang"
Exemplos Práticos
Vamos ver um exemplo prático que utiliza diversos tipos de variáveis e suas operações:
package main
import "fmt"
func main() {
// Declaração de variáveis
var a int = 10
var b float64 = 3.14
var c string = "Go"
var d bool = true
// Declaração curta
e := 42
// Arrays
var arr [3]int
arr[0] = 1
arr[1] = 2
arr[2] = 3
// Slices
slc := []string{"apple", "banana"}
slc = append(slc, "cherry")
// Maps
idadePorNome := make(map[string]int)
idadePorNome["Alice"] = 28
idadePorNome["Bob"] = 34
// Constantes
const pi = 3.14159
// Saída
fmt.Println(a, b, c, d, e)
fmt.Println(arr)
fmt.Println(slc)
fmt.Println(idadePorNome)
fmt.Println("O valor de pi é", pi)
}
Boas Práticas
- Use nomes descritivos: Nomes de variáveis devem ser claros e descrever seu propósito.
- Evite variáveis globais: Prefira variáveis locais e passe-as como parâmetros para funções sempre que possível.
- Considere a imutabilidade: Sempre que possível, use constantes para valores que não devem mudar.