Constants

Константи|Constants #

// Go підтримує створення _констант_ зі значеннями типу
// рядок (string), число (int або float), а також
// логічного типу (bool).

package main

import (
	"fmt"
	"math"
)

// Декларація константи проходить за допомогою ключового
// слова `const`.
const s string = "constant"

func main() {
	fmt.Println(s)

	// Ключове слово `const` може з'являтись усюди,
	// де може з'являтись ключове слово `var` (яким, в свою чергу, декларуються _[змінні](./variables)_).
	const n = 500000000

	// Вирази констант обчислюються за допомогою
	// [арифметики з довільною точністю](https://uk.wikipedia.org/wiki/Довга_арифметика).
	const d = 3e20 / n
	fmt.Println(d)

	// Числові константи не мають типу, аж допоки
	// їм не нададуть його, як у нашому прикладі,
	// явним перетворення.
	fmt.Println(int64(d))

	// Числовій константі може бути надано тип шляхом використання
	// її у контексті що потребує тип, наприклад у присвоєнні або
	// під час виклику функції. Нижче подано приклад - де `math.Sin`
	// очікує значення типу `float64`.
	fmt.Println(math.Sin(n))
}
$ go run constant.go 
constant
6e+11
600000000000
-0.28470407323754404