Array constante en Go

Jay Singh 30 enero 2023
  1. Compruebe un array constante usando la función const en Go
  2. Declarar array constante utilizando el operador [...] en Go
Array constante en Go

Los desarrolladores de Go son razonablemente expertos en utilizar constantes globales en lugar de variables globales para la configuración. Sin embargo, nos encontramos con un problema al construir una versión constante de algunos de los tipos más complicados.

No podemos usar el compilador Go para crear constantes de array, mapa o división.

Las constantes en Go son precisamente eso: constantes. Incluso cuando se especifican como locales en funciones, se construyen en tiempo de compilación y solo pueden ser números enteros, caracteres (runas), cadenas o valores booleanos.

Debido a la restricción de tiempo de compilación, las expresiones que las definen deben ser expresiones constantes que el compilador pueda evaluar.

Este artículo discutirá los métodos alternativos para crear un array constante.

Compruebe un array constante usando la función const en Go

Los arrays y los sectores constantes no son compatibles con Go. Esto se debe a que, en Go, los valores constantes se generan en el momento de la compilación.

En tiempo de ejecución, siempre se evalúan las matrices o los sectores. Como resultado, el siguiente programa generaría un error de compilación.

package main

import "fmt"

func main() {
    const a = [1]int{1}
    fmt.Println(const a)
}

Producción :

const initializer [1]int literal is not a constant

Declarar array constante utilizando el operador [...] en Go

El uso de [...] en lugar de [] asegura que obtiene un array (de tamaño fijo) en lugar de una porción. Como resultado, los valores no son fijos, sino el tamaño.

package main

import "fmt"

func main() {
    a := [...]int{1, 2, 3, 4, 5, 6, 7, 8, 9}
    fmt.Println(a)
}

Producción :

[1 2 3 4 5 6 7 8 9]

Artículo relacionado - Go Array