Skip to content

Instantly share code, notes, and snippets.

@devdrops
Created June 28, 2023 19:31
Show Gist options
  • Save devdrops/1225283cad2809a703eff7936722f5ad to your computer and use it in GitHub Desktop.
Save devdrops/1225283cad2809a703eff7936722f5ad to your computer and use it in GitHub Desktop.
Anotações sobre Go

Go: Anotações

Diferença entre length e capacity

Length está para quantidade de elementos, enquanto que Capacity é o limite de elementos que se pode ter.

Exemplo:

// A variável 's' é um slice de valores inteiros, com 3 elementos e capacidade de 6 elementos.
s := make([]int, 3, 6)
// A variável 'b' é um slice de strings, com 2 elementos e capacidade não declarada.
b := []string{"eita", "preula"}

Diferença entre Array e Slice

  • Array:
    • Tem tamanho fixo.
    • Tem tipo de elemento determinado.

Exemplo de array:

// A variável 'a' é do tipo Array, de valores inteiros, e no máximo 4 valores.
// Sua capacidade é declarada na sua criação.
var a [4]int
  • Slice
    • Tamanho dinâmico.

Exemplo de slice:

// A variável 's' é um slice de valores inteiros, com 3 elementos e capacidade de 6.
s := make([]int, 3, 6)

s = append(s, 1)
s = append(s, 2)
s = append(s, 3)
// Adicionando um sétimo elemento ao slice
s = append(s, 4)

fmt.Println(s)

// [0 0 0 1 2 3 4]

Diferença entre Array e Map

Com Maps, podemos usar qualquer valor como chave. Enquanto que no Array podemos usar apenas números inteiros. Nisso, um map tá mais próximo de uma hash table do que um array.

Concorrência

Goroutines

Channels

Testes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment