Sobes.tech
Junior — Middle

Como declarar uma variável com escopo limitado dentro de uma classe ou módulo?

sobes.tech IA

Resposta da IA

Em Go, o âmbito de uma variável é determinado pelo seu nome e local de declaração. Para declarar uma variável com âmbito limitado dentro de uma classe (estrutura) ou módulo (pacote), usam-se as seguintes abordagens:

  • Dentro de uma função ou método: a variável é declarada com var ou com uma declaração curta := e é visível apenas dentro dessa função ou método.

  • Dentro de um pacote: variáveis, funções, tipos cujo nome começa com uma letra minúscula são visíveis apenas dentro do pacote (módulo). Se o nome começar com uma letra maiúscula, é exportado e acessível de outros pacotes.

Exemplo:

package mypackage

var packageVar = 10 // visível apenas dentro do pacote mypackage

func myFunc() {
    var localVar = 5 // visível apenas dentro de myFunc
    _ = localVar
}

// Variável exportada
var ExportedVar = 20 // acessível de outros pacotes

Assim, para limitar o âmbito de uma variável dentro de um módulo, deve-se usar nomes com letras minúsculas e declarar variáveis fora de funções, mas dentro do pacote. Para limitar a visibilidade dentro de uma classe (estrutura), geralmente usam-se campos de estrutura, cuja visibilidade também é determinada pela primeira letra do nome.