Las constantes son expresiones cuyo valor se conoce en tiempo de compilación, es decir su valor nunca cambia. Por lo tanto, es una variable que tiene un cierto valor definido y mantiene ese valor todo el tiempo. El tipo se infiere dependiendo del valor que se encuentra del lado derecho.
const x = 2.6
En este ejemplo decimos que la constante x es igual a 2.6., eso va establecer x con el valor 2.6 y el compilador infiere que 2.6 es un punto flotante por lo tanto x se convierte en un punto flotante. Es de esta manera como el compilador infiere con el valor del lado derecho la asignación por la cuál debe ser el tipo de variable y se mantiene constante, es decir no se puede cambiar.
const (
y = 8
z = "Hola"
)
Es posible asignar varias constantes al mismo tiempo sin importar si son de diferentes tipos de datos. Tenemos que, y es igual a ocho y z es igual a Hola.
type Days int
const (
L Days =iota
M
MI
J
V
)
iota es una función que se usa para generar constantes, es una función interesante puesto que genera un conjunto de constantes relacionadas pero distintas, lo primero que podemos pensar es ¿cuándo usar esto?, bueno es posible usar esta función cuando sea necesario representar alguna propiedad que tenga varios valores posibles distintos, en otros lenguajes de programación son también conocidos como Enums. En este ejemplo lo que hace iota es asignar valores sucesivos a las constantes partiendo del 0, en otras palabras, iota incrementa el valor en cada especificación de contante, por tanto, tenemos que lo valores serian L = 0, M = 1, MI= 2, J=3, V= 4.
En conclusión, iota nos es útil si deseamos un conjunto de valores constantes que sean diferentes entre sí.