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
varou 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.