Treci la conținutul principal

Structuri în Go

Un struct (prescurtare de la structură) combină mai mulți membri, care pot avea tipuri de date diferite, într-o singură variabilă.

Și un array păstrează mai multe valori într-o singură variabilă, dar toate trebuie să aibă același tip de date. O structură nu are această restricție.

De aceea, structurile sunt utile pentru a păstra împreună date înrudite, sub formă de înregistrări.


Declararea unui Struct

Pentru a declara o structură în Go ai nevoie de două cuvinte cheie: type și struct.

Sfat: Membrii lui Person nu au toți același tip. name și job sunt șiruri de caractere, în timp ce age și salary sunt numere întregi.

Sintaxa Struct

main.go
type struct_name struct {
  member1 datatype;
  member2 datatype;
  member3 datatype;
  ...
}

Declarația unui Struct

main.go
type Person struct {
  name string
  age int
  job string
  salary int
}

Accesarea membrilor unui Struct

Pentru a ajunge la un membru al unei structuri, scrie numele variabilei de tip structură, apoi operatorul punct (.), apoi numele membrului. Aici este folosit atât pentru a seta, cât și pentru a citi membrii a două variabile.

Exemplu

Prompt
Declară un struct Person cu câmpurile name, age, job și salary. Creează două variabile de tip Person, setează-le câmpurile și afișează fiecare câmp folosind operatorul punct.
Ieșire: Program Go și ieșirea capturată

Transmiterea unui Struct ca argument de funcție

O structură poate fi transmisă și unei funcții ca argument. Aici printPerson() primește un Person și îi afișează membrii, așa că codul de afișare nu trebuie repetat.

Exemplu

Prompt
Transmite un struct Person unei funcții numite printPerson care afișează toate câmpurile sale. Creează două persoane și apelează funcția pentru fiecare.
Ieșire: Program Go și ieșirea capturată