Sobes.tech
Junior — Middle

Explique o conceito de variável global e as suas características num programa.

sobes.tech IA

Resposta da IA

Uma variável global em Go é uma variável declarada fora das funções, geralmente num pacote, e acessível em todo o pacote ou até mesmo de outros pacotes quando exportada (com letra maiúscula).

Características das variáveis globais:

  • São inicializadas na inicialização do programa, antes de executar o main.
  • Têm escopo de pacote se o nome começar com letra minúscula, ou são exportadas se começar com maiúscula.
  • São usadas para armazenar estado acessível a partir de diferentes funções.
  • Podem causar problemas com acesso concorrente em programas multithread, frequentemente exigindo sincronização (por exemplo, com mutex).

Exemplo de uma variável global:

package main

import "fmt"

var counter int = 0 // variável global

func increment() {
    counter++
}

func main() {
    increment()
    fmt.Println(counter) // Vai imprimir 1
}

O uso de variáveis globais deve ser minimizado para evitar dificuldades na manutenção e testes do código.