В Go, поредица1 се нарича подредена последователност от членове2 с определена дължина. Обикновено в програмен код на Go отрязъците3 се срещат много по-често; поредиците са полезни в няои определени случаи, когато предварително (още по време на компилиране) знаем дължината им.
import "fmt"
func main() {
Тук създаваме поредицата a, която съдържа точно 5
цели числа. Видът и броят на членовете заедно
определят вида на поредицата. По подразбиране
поредицата има нулева стойност. В случая, това
означава, че тази поредица съдържа пет нули.
var a [5]int
fmt.Println("празен:", a)
Можем да зададем стойност на определено
място1 като напишем поредица[място] = стойност,
а да вземем стойността, като напишем
поредица[място].
a[4] = 100
fmt.Println("задаваме:", a)
fmt.Println("достъпваме:", a[4])
Вградената в езика фуннкция len връща дължината
на поредицата.
fmt.Println("дължина:", len(a))
Използвайте следния правопис, за да обявите и зададете стойности за членовете в поредицата на един ред.
b := [5]int{1, 2, 3, 4, 5}
fmt.Println("обявяваме:", b)
Също така можете да накарате компилатора да преброи
членовете в поредицата, като напишете ... между
квадратните скоби.
b = [...]int{1, 2, 3, 4, 5}
fmt.Println("обявяваме:", b)
Ако укажете поредно място с :, междинните неупоменати
членове ще бъдат зададени с нулеви стойности.
b = [...]int{100, 3: 400, 500}
fmt.Println("места:", b)
Поредиците са едномерни, но можете да създадете съставни видове поредици, за да създадете многомерни структури от данни.
var twoD [2][3]int
for i := range 2 {
for j := range 3 {
twoD[i][j] = i + j
}
}
fmt.Println("двумерна: ", twoD)
twoD = [2][3]int{
{1, 2, 3},
{1, 2, 3},
}
fmt.Println("двумерна: ", twoD)
}
Забележете, че поредиците се показват на екрана във
вида [v1 v2 v3 ...], когато ги отпечатваме с
fmt.Println.
$ go run arrays.go
празен: [0 0 0 0 0]
задаваме: [0 0 0 0 100]
достъпваме: 100
дължина: 5
обявяваме: [1 2 3 4 5]
обявяваме: [1 2 3 4 5]
места: [100 0 0 400 500]
двумерна: [[0 1 2] [1 2 3]]
двумерна: [[1 2 3] [1 2 3]]
Следващ пример: Отрязъци.