Variabile în Go
O variabilă este un loc cu nume din programul tău, în care este păstrată o valoare, ca să o poți folosi din nou mai târziu.
Tipuri de variabile în Go
Tipul unei variabile stabilește ce fel de date poate conține. Go are mai multe tipuri, printre care acestea:
int- numere întregi, cum ar fi 123 sau -123float32- numere în virgulă mobilă, care au zecimale, cum ar fi 19.99 sau -19.99string- text, cum ar fi „Hello World”, scris între ghilimele dublebool- una dintre două stări, true sau false
Declararea (crearea) variabilelor
Go îți oferă două moduri de a declara o variabilă. Sintaxa fiecăruia este prezentată mai jos.
1. Cuvântul cheie var:
Scrie var, apoi numele variabilei și tipul ei.
Notă: Poți omite type sau value, dar niciodată pe amândouă.
2. Semnul :=:
Scrie numele variabilei, apoi :=, apoi valoarea.
Notă: În această formă, tipul este dedus: compilatorul îl stabilește pe baza valorii pe care o dai.
Notă: Deoarece compilatorul are nevoie de acea valoare, := nu poate fi folosit pentru a declara o variabilă fără a-i atribui o valoare.
Sintaxa cu var
var variablename type = value
Sintaxa prescurtată
variablename := value
Declararea variabilelor cu valoare inițială
Când știi deja ce ar trebui să conțină o variabilă, poți face declararea și atribuirea pe o singură linie, așa cum arată exemplul de mai jos.
Notă: Nici student2, nici x nu au un tip scris în cod, așa că tipurile lor sunt deduse din valorile lor.
Exemplu
Ieșire: Program Go și ieșirea capturată
package main
import ("fmt")
func main() {
var student1 string = "John" //tipul este string
var student2 = "Jane" //tipul este dedus
x := 2 //tipul este dedus
fmt.Println(student1)
fmt.Println(student2)
fmt.Println(x)
}
Declararea variabilelor fără valoare inițială
Go nu lasă niciodată o variabilă neinițializată. Dacă declari una fără să îi dai o valoare, ea primește automat valoarea implicită a tipului său:
Exemplu
Programul de mai jos declară trei variabile, a, b și c, și nu dă niciuneia o valoare. Când îl rulezi, vezi că fiecare conține deja valoarea implicită a tipului său: a este "", b este 0, iar c este false.
Ieșire: Program Go și ieșirea capturată
package main
import ("fmt")
func main() {
var a string
var b int
var c bool
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
}
Atribuirea valorii după declarare
Nu trebuie să îi dai unei variabile valoarea imediat. Poți să o declari mai întâi și să îi atribui valoarea mai târziu, ceea ce este util când nu cunoști încă valoarea.
Notă: Acest lucru funcționează doar cu var. Folosirea „:=” cere întotdeauna o valoare ca parte a declarației.
Exemplu
Ieșire: Program Go și ieșirea capturată
package main
import ("fmt")
func main() {
var student1 string
student1 = "John"
fmt.Println(student1)
}
Diferența dintre var și :=
var și := diferă în câteva mici privințe:
Poți folosi var atât în interiorul, cât și în afara funcțiilor și poți să declari variabila și să îi atribui valoarea în pași separați.
:= funcționează doar în interiorul funcțiilor, iar declararea și atribuirea nu pot fi separate: trebuie să aibă loc pe aceeași linie.
Exemplu
Aici, var declară variabile în afara oricărei funcții, ceea ce funcționează fără probleme:
Ieșire: Program Go și ieșirea capturată
package main
import ("fmt")
var a int
var b int = 2
var c = 3
func main() {
a = 1
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
}
Exemplu
Acest program încearcă să folosească := în afara unei funcții, așa că eșuează cu o eroare în loc să ruleze.
Ieșire: Program Go și ieșirea capturată
package main
import ("fmt")
a := 1
func main() {
fmt.Println(a)
}