Arrays

...

SU

Go Massivlar

Massivlar bir xil turdagi bir nechta qiymatlarni bitta o'zgaruvchida saqlash uchun ishlatiladi, har bir qiymat uchun alohida o'zgaruvchi e'lon qilishning o'rniga.

Massiv E'lon Qilish

Go-da massivni e'lon qilishning ikki usuli mavjud:

  1. var kalit so'zi bilan: Sintaksis
    var massiv_nomi = [uzunlik]tur{qiymatlar} // uzunlik aniqlangan

yoki

var massiv_nomi = [...]tur{qiymatlar} // uzunlik aniqlanmagan
  1. := belgisini ishlatib: Sintaksis

    massiv_nomi := [uzunlik]tur{qiymatlar} // uzunlik aniqlangan

    yoki

massiv_nomi := [...]tur{qiymatlar} // uzunlik aniqlanmagan

Eslatma

Uzunlik massivda saqlanadigan elementlar sonini belgilaydi. Go-da massivlar o'zgaruvchan uzunlikka ega bo'lmaydi. Massiv uzunligi raqam bilan aniqlanishi yoki avtomatik ravishda aniqlanishi mumkin (bu degani, kompilator qiymatlar soniga asoslangan holda uzunlikni belgilaydi).

Massiv Misollari

Misol 1 Bu misol aniqlangan uzunlikdagi ikkita massiv (arr1 va arr2) ni e'lon qiladi:

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

Natija:

[1 2 3]
[4 5 6 7 8]

Misol 2 Bu misol uzunlik avtomatik aniqlangan ikkita massivni e'lon qiladi:

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

Natija:

[1 2 3]
[4 5 6 7 8]

Misol 3 Bu misol string turidagi massivni e'lon qiladi:

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

Natija:

[Volvo BMW Ford Mazda]

Massiv Elementlariga Kirish

Massivning ma'lum bir elementiga indeks raqamiga murojaat qilib kirish mumkin. Go-da massiv indekslari 0-dan boshlanadi. Demak, [0] birinchi element, [1] ikkinchi element va hokazo.

Misol Bu misol prices massivining birinchi va uchinchi elementlariga kirishni ko'rsatadi:

package main
import ("fmt")
 
func main() {
  prices := [3]int{10,20,30}
 
  fmt.Println(prices[0])
  fmt.Println(prices[2])
}

Natija:

10
30

Massiv Elementlarini O'zgartirish

Massivning ma'lum bir elementining qiymatini indeks raqamiga murojaat qilib o'zgartirish mumkin.

Misol Bu misol prices massivining uchinchi elementining qiymatini o'zgartirishni ko'rsatadi:

package main
import ("fmt")
 
func main() {
  prices := [3]int{10,20,30}
 
  prices[2] = 50
  fmt.Println(prices)
}

Natija:

[10 20 50]

Massivni Inicializatsiya Qilish

Agar massiv yoki uning biror elementi kodda inicializatsiya qilinmagan bo'lsa, u o'zining turidagi standart qiymat bilan taqdim etiladi.

Eslatma

int uchun standart qiymat 0, string uchun esa "".

Misol

package main
import ("fmt")
 
func main() {
  arr1 := [5]int{} // inicializatsiya qilinmagan
  arr2 := [5]int{1,2} // qisman inicializatsiya qilingan
  arr3 := [5]int{1,2,3,4,5} // to'liq inicializatsiya qilingan
 
  fmt.Println(arr1)
  fmt.Println(arr2)
  fmt.Println(arr3)
}

Natija:

[0 0 0 0 0]
[1 2 0 0 0]
[1 2 3 4 5]

Faqat Muayyan Elementlarni Inicializatsiya Qilish

Faqat ma'lum elementlarni inicializatsiya qilish mumkin.

Misol Bu misol massivning faqat ikkinchi va uchinchi elementlarini inicializatsiya qilishni ko'rsatadi:

package main
import ("fmt")
 
func main() {
  arr1 := [5]int{1:10,2:40}
 
  fmt.Println(arr1)
}

Natija:

[0 10 40 0 0]

Misolning Izohi Massivda 5 ta element mavjud.

1:10 degani: massivning 1-indeks (ikkinchi element) ga 10 qiymatini tayinlash. 2:40 degani: massivning 2-indeks (uchinchi element) ga 40 qiymatini tayinlash.

Massiv Uzunligini Topish

Massiv uzunligini topish uchun len() funktsiyasidan foydalaniladi:

Misol

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

Natija:

4
6

Ushbu sahifada

GitHubda tahrirlash