Constants
#
// Go suporta _constantes_ de tipos strings, booleanos,
// e numericos.
package main
import (
"fmt"
"math"
)
// `const` é a palavra reservada para declarar uma constante.
const s string = "constant"
func main() {
fmt.Println(s)
// A declaração `const` pode aparecer em qualquer
// lugar que a declaração `var` também possa.
const n = 500000000
// Expressões com constantes são performadas
// aritmeticamente com precisão arbitrária.
const d = 3e20 / n
fmt.Println(d)
// Uma constante numérica não possui um tipo
// até que seja atribuído um, como uma conversão explícita.
fmt.Println(int64(d))
// Um tipo pode ser implicitamente atribuído a uma constante
// numérica ao usá-la num contexto que requer um tipo,
// como atribuição a uma variável ou uma chamada de função.
// Por exemplo, a função `math.Sin` espera um valor de tipo
// `float64`.
fmt.Println(math.Sin(n))
}
$ go run constant.go
constant
6e+11
600000000000
-0.28470407323754404