Array-uri în Go
Un array păstrează mai multe valori de același tip împreună, sub un singur nume. Astfel nu mai trebuie să creezi o variabilă separată pentru fiecare valoare.
Declararea unui array
Go îți permite să declari un array fie cu cuvântul cheie var, fie cu operatorul :=.
Sintaxa de aici folosește var:
Exemplu
Aici lungimea fiecărui array este scrisă explicit: 3 pentru arr1 și 5 pentru arr2. Unul folosește var, celălalt :=:
Ieșire: Program Go și ieșirea capturată
package main
import ("fmt")
func main() {
var arr1 = [3]int{1, 2, 3}
arr2 := [5]int{4, 5, 6, 7, 8}
fmt.Println(arr1)
fmt.Println(arr2)
}
Exemplu
Înlocuiește lungimea cu ... și Go numără valorile în locul tău, așa că aceste două array-uri ajung să aibă lungimile 3 și 5:
Ieșire: Program Go și ieșirea capturată
package main
import ("fmt")
func main() {
var arr1 = [...]int{1, 2, 3}
arr2 := [...]int{4, 5, 6, 7, 8}
fmt.Println(arr1)
fmt.Println(arr2)
}
Sintaxă
Când precizezi singur lungimea:
var array_name = [length]datatype{values}
Sintaxă
Când Go stabilește lungimea în locul tău:
var array_name = [...]datatype{values}
Accesarea elementelor unui array
Pentru a citi un element al unui array, scrie numărul indexului său între paranteze pătrate.
Numărarea începe de la 0, nu de la 1, așa că [0] îți dă primul element, [1] pe al doilea și așa mai departe.
Exemplu
Indecșii 0 și 2 dau prima și a treia valoare din prices:
Ieșire: Program Go și ieșirea capturată
package main
import ("fmt")
func main() {
prices := [3]int{10, 20, 30}
fmt.Println(prices[0])
fmt.Println(prices[2])
}
Modificarea elementelor unui array
Aceeași notație cu index funcționează și la scriere: atribuie o valoare nouă unui index, iar acel element este înlocuit.
Exemplu
Atribuirea către prices[2] înlocuiește a treia valoare, 30, cu 50:
Ieșire: Program Go și ieșirea capturată
package main
import ("fmt")
func main() {
prices := [3]int{10, 20, 30}
prices[2] = 50
fmt.Println(prices[0])
fmt.Println(prices[2])
}
Inițializarea array-urilor
Orice element al unui array pe care îl lași fără valoare nu este de fapt gol. Go îl completează cu valoarea implicită a tipului său, iar același lucru se întâmplă cu un array pe care nu îl inițializezi deloc.
Notă: Pentru int această valoare este 0; pentru string este "".
Exemplu
Poți seta doar pozițiile care te interesează scriind index:value. Aici indexul 1 primește 10, iar indexul 2 primește 40, în timp ce celelalte trei elemente rămân la 0:
Ieșire: Program Go și ieșirea capturată
package main
import ("fmt")
func main() {
arr1 := [5]int{1:10, 2:40}
fmt.Println(arr1)
}
Aflarea lungimii unui array
Pentru a afla câte elemente are un array, transmite-l funcției len().