Sobes.tech
Junior — Middle

Explique el concepto de variable global y sus características en un programa.

sobes.tech AI

Respuesta de la IA

Una variable global en Go es una variable declarada fuera de las funciones, generalmente en un paquete, y accesible en todo el paquete o incluso desde otros paquetes cuando se exporta (con letra mayúscula).

Características de las variables globales:

  • Se inicializan al arrancar el programa, antes de ejecutar main.
  • Tienen ámbito de paquete si el nombre empieza con minúscula, o se exportan si empieza con mayúscula.
  • Se usan para almacenar estados accesibles desde diferentes funciones.
  • Pueden causar problemas con acceso concurrente en programas multihilo, por lo que a menudo requieren sincronización (por ejemplo, con mutex).

Ejemplo de una variable global:

package main

import "fmt"

var counter int = 0 // variable global

func increment() {
    counter++
}

func main() {
    increment()
    fmt.Println(counter) // Imprimirá 1
}

Se debe minimizar el uso de variables globales para evitar complicaciones en el mantenimiento y las pruebas del código.