Struct

...

SU

Go Strukturalar

Strukturalar

Struktura (strukturalar uchun qisqartma) turli ma'lumot turlaridagi a'zolarni bitta o'zgaruvchida to'plamoq uchun ishlatiladi.

Massivlar bir xil ma'lumot turidagi ko'p qiymatlarni bitta o'zgaruvchida saqlash uchun ishlatiladi, strukturalar esa turli ma'lumot turlaridagi ko'p qiymatlarni bitta o'zgaruvchida saqlash uchun ishlatiladi.

Strukturani ma'lumotlarni birlashtirib, yozuvlarni yaratish uchun foydali bo'lishi mumkin.

Strukturani E'lon Qilish

Go'da struktura e'lon qilish uchun type va struct kalit so'zlarini ishlating:

Sintaksis

type struct_name struct {
  member1 datatype
  member2 datatype
  member3 datatype
  ...
}

Misol

Bu yerda biz Person nomli strukturani e'lon qilamiz va unga quyidagi a'zolarni qo'shamiz: name, age, job va salary:

type Person struct {
  name string
  age int
  job string
  salary int
}

Eslatma

Yuqoridagi struktura a'zolari turli ma'lumot turlariga ega. name va job string turida, age va salary esa int turida.

Strukturani A'zolariga Kirish

Strukturaning har qanday a'zoga kirish uchun . operatoridan foydalaning, struktura o'zgaruvchisi nomi va struktura a'zosi o'rtasida:

Misol

package main
import ("fmt")
 
type Person struct {
  name string
  age int
  job string
  salary int
}
 
func main() {
  var pers1 Person
  var pers2 Person
 
  // Pers1 xususiyatlari
  pers1.name = "Hege"
  pers1.age = 45
  pers1.job = "O'qituvchi"
  pers1.salary = 6000
 
  // Pers2 xususiyatlari
  pers2.name = "Cecilie"
  pers2.age = 24
  pers2.job = "Marketing"
  pers2.salary = 4500
 
  // Pers1 ma'lumotlarini chiqarish
  fmt.Println("Ism: ", pers1.name)
  fmt.Println("Yosh: ", pers1.age)
  fmt.Println("Kasb: ", pers1.job)
  fmt.Println("Maosh: ", pers1.salary)
 
  // Pers2 ma'lumotlarini chiqarish
  fmt.Println("Ism: ", pers2.name)
  fmt.Println("Yosh: ", pers2.age)
  fmt.Println("Kasb: ", pers2.job)
  fmt.Println("Maosh: ", pers2.salary)
}

Natija:

Ism: Hege
Yosh: 45
Kasb: O'qituvchi
Maosh: 6000
Ism: Cecilie
Yosh: 24
Kasb: Marketing
Maosh: 4500

Strukturani Funktsiya Argumenti Sifatida O'tkazish

Strukturani funktsiya argumenti sifatida ham o'tkazishingiz mumkin:

Misol

package main
import ("fmt")
 
type Person struct {
  name string
  age int
  job string
  salary int
}
 
func main() {
  var pers1 Person
  var pers2 Person
 
  // Pers1 xususiyatlari
  pers1.name = "Hege"
  pers1.age = 45
  pers1.job = "O'qituvchi"
  pers1.salary = 6000
 
  // Pers2 xususiyatlari
  pers2.name = "Cecilie"
  pers2.age = 24
  pers2.job = "Marketing"
  pers2.salary = 4500
 
  // Pers1 ma'lumotlarini funktsiya orqali chiqarish
  printPerson(pers1)
 
  // Pers2 ma'lumotlarini funktsiya orqali chiqarish
  printPerson(pers2)
}
 
func printPerson(pers Person) {
  fmt.Println("Ism: ", pers.name)
  fmt.Println("Yosh: ", pers.age)
  fmt.Println("Kasb: ", pers.job)
  fmt.Println("Maosh: ", pers.salary)
}

Natija:

Ism: Hege
Yosh: 45
Kasb: O'qituvchi
Maosh: 6000
Ism: Cecilie
Yosh: 24
Kasb: Marketing
Maosh: 4500

Ushbu sahifada

GitHubda tahrirlash