Golang: Variáveis (Parte - 4)

Golang

Já vimos os conceitos básicos de Go. Agora, vamos para a programação em si. Vamos começar com o básico: variáveis.

Declaração de Variáveis em Go

No Go, a declaração de variaveis é feito com as palavras-chave:

  • var: Usada para declarar variáveis com tipo explícito ou inferido.
  • const: Usada para declarar constantes, que são variáveis cujo valor não pode ser alterado após a atribuição inicial.
  • type: Usada para criar novos tipos de dados, permitindo a definição de tipos personalizados.
  • :=: Usada para declaração curta, onde o tipo é inferido automaticamente a partir do valor atribuído.

Começando pelo var, A declaração pode incluir ou não um valor inicial.

// Declaração de uma variável com tipo explícito
var x int // x é do tipo int e tem o valor zero (0) por padrão

// Declaração com inicialização
var y int = 10 // y é do tipo int e recebe o valor 10

// Inferência de tipo (o tipo é deduzido do valor inicial)
var z = 20 // z é do tipo int, inferido do valor 20

// Declaração de múltiplas variáveis
var a, b, c int // a, b e c são do tipo int
var d, e = 1, "golang" // d é int, e é string

// Atribuição Múltipla
a, b, c = 1, 2 // Atribui 1 a a e 2 a b

No Go, tem algo bem legal que é a declaração curta.

x := 42 // x é do tipo int, inferido do valor 42
y := "Lucas Wesley" // y é do tipo string, inferido do valor "Lucas Wesley"

Podemos fazer declarações em bloco também:

var (
    name   string = "Lucas"
    age    int    = 26
    status bool   = true
)

Já o const o valor não pode ser alterado depois de atribuído.

// Declaração de uma constante com tipo explícito
const x int = 42 // x é do tipo int e tem o valor 42

// Declaração com inferência de tipo (o tipo é deduzido do valor inicial)
const y = "golang" // y é do tipo string, inferido do valor "golang"

// Declaração de múltiplas constantes
const (
  pi       = 3.14       // pi é do tipo float64
  language = "Português" // language é do tipo string
  year     = 2023        // year é do tipo int
)

// Constantes não podem ser alteradas após a atribuição inicial
// const z = 10
// z = 20 // Isso resultaria em um erro de compilação

Tipos de Variáveis

Em Go, existem vários tipos de variáveis, cada um com suas características e usos específicos. Para esse artigo, vamos focar nos tipos mais comuns.

  • Inteiros: Representam números inteiros, como int, int8, int16, int32 e int64.
  • Ponto Flutuante: Representam números com casas decimais, como float32 e float64.
  • Strings: Representam sequências de caracteres, como string.
  • Booleanos: Representam valores lógicos, como true ou false.

Aos poucos vou estudando e introduzindo os outros tipos, como array, slice, map, struct, interface e outros...

Criação de Tipos

Em Go, você pode criar novos tipos de dados personalizados usando a palavra-chave type. Isso é útil para melhorar a legibilidade do código e encapsular comportamentos específicos.

  • Definição de Tipos: Um novo tipo pode ser criado a partir de um tipo existente.
type ID int // ID é um novo tipo baseado em int
  • É possível criar alias para tipos existentes.
type Float = float64  // Apenas um sinônimo
  • Tipos Estruturados O Go permite criar tipos compostos, como struct, para agrupar dados relacionados.
type Person struct {
    Name string
    Age  int
}
  • Interfaces As interfaces permitem definir comportamentos esperados de um tipo, sem especificar a implementação.
type Animal interface {
    EmitirSom() string
    Mover() string
}

Tem algumas observações mais complexas, porém vou deixar para outro momento. Por enquanto isso é o suficiente para continuarmos os estudos.