udemere

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

Last updated on

On this page

Xato haqida xabar berish