Constantă
Constantele, la fel ca și variabilele, stochează anumite date, dar spre deosebire de variabile, valorile constantele nu pot fi modificate, acestea fiind stabilite o singură dată. Calculul constantelor se face în timpul compilării. Datorită acestui fapt, se reduce cantitatea de lucru care trebuie efectuată în timpul execuției, iar căutarea erorilor legate de constante devine mai simplă (deoarece unele dintre ele pot fi detectate chiar la momentul compilării).
Pentru definirea constantelor se folosește cuvântul cheie const:
const pi float64 = 3.1415
Și spre deosebire de variabile, nu putem schimba valoarea unei constante. Iar dacă încercăm să facem acest lucru, vom obține o eroare la compilare:
const pi float64 = 3.1415
pi = 2.7182 // ! Eroare
Într-o singură definiție putem declara mai multe constante simultan:
const (
pi float64 = 3.1415
e float64 = 2.7182
)
sau așa:
const pi, e = 3.1415, 2.7182
Dacă unei constante nu îi este specificat tipul, acesta va fi dedus implicit pe baza valorii cu care este inițializată constanta:
const n = 5 // tipul este int
De asemenea, trebuie să inițializăm constantă cu o valoare la momentul declarării acesteia. De exemplu, următoarele definiții de constante sunt invalide, deoarece nu sunt inițializate:
const d
const n int
Dacă se definește o secvență de constante, inițializarea unei valori poate fi omisă pentru toate constantele, cu excepția primei. În acest caz, constanta fără valoare va primi valoarea constantei anterioare:
const (
a = 1
b
c
d = 3
f
)
fmt.Println(a, b, c, d, f) // 1, 1, 1, 3, 3
Constantelor li se pot atribui doar valori constante, cum ar fi literale de tip numere sau șiruri, sau valori ale altor constante. Însă nu putem inițializa o constantă cu valoarea unei variabile:
var m int = 7
// const k = m // ! Eroare: m este variabilă
const s = 5 // OK: 5 este o constantă numerică
const n = s // OK: s este constantă