Go massivlar
Go massivlar
Massivlar har bir qiymat uchun alohida o‘zgaruvchi e’lon qilish o‘rniga, bir xil tipdagi bir nechta qiymatni bitta o‘zgaruvchida saqlash uchun ishlatiladi.
Massivni e’lon qilish
Go tilida massivni e’lon qilishning ikki usuli bor:
1. var kalit so‘zi yordamida:
Sintaksis
var array_name = [length]datatype{values} // here length is defined
or
var array_name = [...]datatype{values} // here length is inferred
2. := belgisi yordamida:
Sintaksis
array_name := [length]datatype{values} // here length is defined
or
array_name := [...]datatype{values} // here length is inferred
Eslatma: length massivda saqlanadigan elementlar sonini belgilaydi. Go tilida massivlar qat’iy uzunlikka ega. Massiv uzunligi son bilan aniq belgilanadi yoki avtomatik aniqlanadi (ya’ni kompilyator massiv uzunligini values soniga qarab o‘zi belgilaydi).
Massivlarga misollar
Misol
Ushbu misolda uzunligi aniq belgilangan ikkita massiv (arr1 va arr2) e’lon qilinadi:
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
Ushbu misolda uzunligi avtomatik aniqlanadigan ikkita massiv (arr1 va arr2) e’lon qilinadi:
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
Ushbu misolda stringlar massivi e’lon qilinadi:
package main
import "fmt"
func main() {
var cars = [4]string{"Volvo", "BMW", "Ford", "Mazda"}
fmt.Print(cars)
}
Natija:
[Volvo BMW Ford Mazda]Massiv elementlariga murojaat qilish
Massivning ma’lum bir elementiga uning indeks raqami orqali murojaat qilishingiz mumkin.
Go tilida massiv indekslari 0 dan boshlanadi. Ya’ni [0] — birinchi element, [1] — ikkinchi element va hokazo.
Misol
Ushbu misolda prices massivining birinchi va uchinchi elementlariga qanday murojaat qilish ko‘rsatilgan:
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
Shuningdek, massivning ma’lum bir elementi qiymatini uning indeks raqami orqali o‘zgartirishingiz mumkin.
Misol
Ushbu misolda prices massivining uchinchi elementi qiymatini qanday o‘zgartirish ko‘rsatilgan:
package main
import "fmt"
func main() {
prices := [3]int{10,20,30}
prices[2] = 50
fmt.Println(prices)
}
Natija:
[10 20 50]
Massivni initsializatsiya qilish
Agar massiv yoki uning biror elementi kodda initsializatsiya qilinmagan bo‘lsa, unga o‘z tipining standart qiymati beriladi.
Maslahat: int uchun standart qiymat — 0, string uchun esa — "".
Misol
package main
import "fmt"
func main() {
arr1 := [5]int{} //not initialized
arr2 := [5]int{1,2} //partially initialized
arr3 := [5]int{1,2,3,4,5} //fully initialized
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 ma’lum elementlarni initsializatsiya qilish
Massivning faqat ma’lum elementlarini initsializatsiya qilish mumkin.
Misol
Ushbu misolda massivning faqat ikkinchi va uchinchi elementlari initsializatsiya qilinadi:
package main
import "fmt"
func main() {
arr1 := [5]int{1:10,2:40}
fmt.Println(arr1)
}
Natija:
[0 10 40 0 0]
Misol izohi
Yuqoridagi massiv 5 ta elementdan iborat.
1:10quyidagini anglatadi: massivning1indeksiga (ikkinchi elementga)10qiymatini berish.2:40quyidagini anglatadi: massivning2indeksiga (uchinchi elementga)40qiymatini berish.
Massiv uzunligini aniqlash
len() funksiyasi massiv uzunligini aniqlash uchun ishlatiladi:
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
Go mashqlari
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
