Sobes.tech
Junior — Middle

Cum se poate declara o variabilă cu domeniu limitat în interiorul unei clase sau module?

sobes.tech AI

Răspuns de la AI

În Go, domeniul de vizibilitate al unei variabile este determinat de numele și locul de declarare. Pentru a declara o variabilă cu domeniu limitat în interiorul unei clase (structură) sau modul (pachet), se folosesc următoarele abordări:

  • În interiorul unei funcții sau metode: variabila este declarată cu var sau cu o declarație scurtă := și este vizibilă doar în interiorul acesteia.

  • În interiorul unui pachet: variabilele, funcțiile, tipurile al căror nume începe cu o literă mică sunt vizibile doar în interiorul pachetului (modul). Dacă numele începe cu o literă mare, este exportat și disponibil din alte pachete.

Exemplu:

package mypackage

var packageVar = 10 // vizibil doar în interiorul pachetului mypackage

func myFunc() {
    var localVar = 5 // vizibil doar în interiorul lui myFunc
    _ = localVar
}

// Variabilă exportată
var ExportedVar = 20 // accesibil din alte pachete

Astfel, pentru a limita domeniul de vizibilitate al unei variabile în interiorul unui modul, trebuie să folosiți nume cu litere mici și să declarați variabilele în afara funcțiilor, dar în interiorul pachetului. Pentru a limita vizibilitatea în interiorul unei clase (structuri), se folosesc de obicei câmpuri de structură, unde vizibilitatea este de asemenea determinată de prima literă a numelui.