Array constante en Go
-
Compruebe un array constante usando la función
const
en Go -
Declarar array constante utilizando el operador
[...]
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]