НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ
Golang. Уроки для початківців

En

Go Масиви


Go Масиви

Масиви використовуються для зберігання кількох значень одного типу в одній змінній замість оголошення окремих змінних для кожного значення.


Оголошення масиву

У Go є два способи оголосити масив:

1. За допомогою ключового слова var:

Синтаксис

var array_name = [length]datatype{values} // тут визначається довжина

або

var array_name = [...]datatype{values} // тут випливає довжина

2. За допомогою знаку :=:

Синтаксис

array_name := [length]datatype{values} // тут визначається довжина

або

array_name := [...]datatype{values} // тут випливає довжина

Примітка: Довжина вказує кількість елементів для збереження в масиві. У Go масиви мають фіксовану довжину. Довжина масиву або визначається числом, або виводиться (означає, що компілятор визначає довжину масиву на основі кількості значень).


Приклади масиву

Приклад

У цьому прикладі оголошено два масиви (arr1 і arr2) із визначеною довжиною:

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)
}

Результат:

[1 2 3]
[4 5 6 7 8]
Спробуйте самі »

Приклад

У цьому прикладі оголошено два масиви (arr1 і arr2) із визначеною довжиною:

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)
}

Результат:

[1 2 3]
[4 5 6 7 8]
Спробуйте самі »

Приклад

У цьому прикладі оголошено масив рядків:

package main
import ("fmt")

func main() {
  var cars = [4]string{"Volvo", "BMW", "Ford", "Mazda"}
  fmt.Print(cars)
}

Результат:

[Volvo BMW Ford Mazda]
Спробуйте самі »

Доступ до елементів масиву

Ви можете отримати доступ до певного елемента масиву, посилаючись на номер індексу.

У Go індекси масиву починаються з 0. Це означає, що [0] є першим елементом, [1] є другим елементом тощо.

Приклад

У цьому прикладі показано, як отримати доступ до першого та третього елементів у масиві цін:

package main
import ("fmt")

func main() {
  prices := [3]int{10,20,30}

  fmt.Println(prices[0])
  fmt.Println(prices[2])
}

Результат:

10
30
Спробуйте самі »

Зміна елементів масиву

Ви також можете змінити значення певного елемента масиву, посилаючись на номер індексу.

Приклад

У цьому прикладі показано, як змінити значення третього елемента в масиві цін:

package main
import ("fmt")

func main() {
  prices := [3]int{10,20,30}

  prices[2] = 50
  fmt.Println(prices)
}

Результат:

[10 20 50]
Спробуйте самі »

Ініціалізація масиву

Якщо масив або один із його елементів не було ініціалізовано в коді, йому присвоюється значення за умовчанням для його типу.

Підказка. Типовим значенням int є 0, а значенням string є "".

Приклад

package main
import ("fmt")

func main() {
  arr1 := [5]int{} //не ініціалізовано
  arr2 := [5]int{1,2} //частково ініціалізовано
  arr3 := [5]int{1,2,3,4,5} //повністю ініціалізовано

  fmt.Println(arr1)
  fmt.Println(arr2)
  fmt.Println(arr3)
}

Результат:

[0 0 0 0 0]
[1 2 0 0 0]
[1 2 3 4 5]
Спробуйте самі »

Ініціалізувати лише певні елементи

У масиві можна ініціалізувати лише певні елементи.

Приклад

У цьому прикладі ініціалізуються лише другий і третій елементи масиву:

package main
import ("fmt")

func main() {
  arr1 := [5]int{1:10,2:40}

  fmt.Println(arr1)
}

Результат:

[0 10 40 0 0]
Спробуйте самі »

Пояснення прикладу

Наведений вище масив складається з 5 елементів.

  • 1:10 означає: призначити 10 індексу масиву 1 (другий елемент).
  • 2:40 означає: призначити 40 індексу масиву 2 (третій елемент).

Знайти довжину масиву

Функція len() використовується для визначення довжини масиву:

Приклад

package main
import ("fmt")

func main() {
  arr1 := [4]string{"Volvo", "BMW", "Ford", "Mazda"}
  arr2 := [...]int{1,2,3,4,5,6}

  fmt.Println(len(arr1))
  fmt.Println(len(arr2))
}

Результат:

4
6
Спробуйте самі »

Go Вправи

Перевірте себе за допомогою вправ

Вправа:

Створіть масив з назвою cars типу string:

package main
import ("fmt") 
func main() { var = [4]{"Volvo", "BMW", "Ford", "Mazda"} fmt.Print() }