Hvordan tildeler man standardværdier for struct-felter i Golang?

Hvordan Tildeler Man Standardvaerdier For Struct Felter I Golang



Golang er et moderne programmeringssprog, der har vundet popularitet i de senere år. En af de stærke egenskaber ved Golang er dens evne til at definere og manipulere strukturer. Strukturer er brugerdefinerede datatyper, der giver udviklere mulighed for at gruppere relaterede datafelter i et enkelt objekt. I Go, strukturer kan få Standardværdier tildelt til deres felter, hvilket gør initialiseringen af ​​dem meget nemmere.

I dette essay vil vi undersøge, hvordan man tildeler en standard værdi for et struct-felt i Golang.

Hvad er strukturfelter?

For det første er det vigtigt at forstå begrebet struct felter . Det struct felter er variabler, der er grupperet til at danne en struktur objekt. Hver struct felt har et navn og en datatype. For eksempel kan en struktur, der repræsenterer en person, have felter som navn, alder og køn.







Hvordan tildeler man standardværdier for strukturfelter i Golang?

Standardværdier kan tildeles til struct-felter i Go ved at bruge:



  • Standard nulværdier
  • Konstruktører
  • Strukturer bogstaver
  • Standardfeltværdier

1: Standard nulværdier

I Go kan tildeling af standardværdier til struct-felter opnås med ' nul værdi '-funktion. Denne funktion tildeler automatisk en standardværdi på enten ' 0 ' eller ' falsk ” til hvert ikke-initialiseret felt, afhængigt af datatypen. Dette betyder, at du ikke eksplicit behøver at angive standardværdier for hvert felt i strukturen, da Go vil gøre det for dig.



Denne funktion kan være nyttig, når du har at gøre med store strukturer med mange felter, da den sparer tid og kræfter med manuelt at indstille standardværdier for hvert felt.





Her er et eksempel, der bruger nulværdien til at tildele standardværdier for struct-felter:

hovedpakke

importere 'fmt'

type Personstruktur {
Navn  -streng
Alder    int
Højde flyder64
IsMale bool
}

func hoved ( ) {
p1 := Person { Navn: 'John' , Alder: 30 }
fmt.Println ( p1.Navn )
fmt.Println ( p1.Alder )
fmt.Println ( p1.Højde )
fmt.Println ( p1.IsMale )
}

Koden ovenfor definerer en person struktur med fire felter: Name, Age, Height og IsMale, som alle er af bool-datatypen. Derefter laver vi en ny forekomst af Person-klassen, p1, og initialiserer nogle af dens felter ved at bruge struct-literaler til at angive feltnavne og værdier. Det standard nulværdier for de felter, der ikke eksplicit blev angivet under initialiseringen, vises, når du udskriver felternes værdier vha. fmt.Println .



Produktion

2: Konstruktører

Ved at skrive a konstruktør funktion for struct, kan du også give standardværdier til struct-felter i Golang. Det konstruktør funktion opretter en ny forekomst af strukturen og indstiller standardværdierne for dens felter. Denne metode sparer kræfter og tid, især når du interagerer med enorme strukturer med adskillige felter.

Her er et eksempel på, hvordan man definerer en konstruktør funktion med standardfeltværdier for en struct:

hovedpakke

importere 'fmt'

type Personstruktur {
Navn    streng
Alder     int
Adressestreng
}
func NewPerson ( ) * Person {
Vend tilbage & Person {
Navn: 'John Doe' ,
Alder: 30 ,
Adresse: '123 Main St' ,
}
}
func hoved ( ) {
p := Ny person ( )
fmt.Println ( s. Navn, s. Alder, s. Adresse )
}

I ovenstående kode, a Person struct er defineret, såvel som nyPerson() funktion, som producerer en frisk forekomst af Person struct med forudbestemte standardindstillinger. Vi ringer nyPerson() i hoved() at oprette en ny Person-instans med standard feltværdier , og vi udskriver derefter værdierne for den instanss felter.

Produktion

3: Strukturer bogstaver

I Golang kan du indstille standardværdier for struct-felter ved hjælp af strukturere bogstaver såvel. Du skal blot konstruere en ny forekomst af strukturen og indstille værdierne for hvert felt, der skal initialiseres. Hvis du vil indstille standardværdier for felter, som du ikke eksplicit initialiserer, kan du bruge nulværdi-funktionen.

Her er et eksempel på, hvordan du bruger strukturere bogstaver for at indstille standardfeltværdier for en struktur:

hovedpakke

importere 'fmt'

type Personstruktur {
Navn    streng
Alder     int
Adressestreng
}
func hoved ( ) {
p := Person {
Navn: 'John Doe' ,
Alder: 30 ,
}
fmt.Println ( s. Navn, s. Alder, s. Adresse )
}

I ovenstående kode definerer vi en Person struct i dette eksempel og opret en ny forekomst af den ved hjælp af en struct literal og standardværdier for dens felter. En ny Person instans oprettes i main() med nogle feltværdier udfyldt og andre efterladt tomme. Siden Adresse feltet ikke initialiseres, modtager det den tomme streng, der er standardværdien for dette felt. Til sidst udskriver vi Person-forekomstens feltværdier.

Produktion

4: Standardfeltværdier

Tildeler Standardværdier til struct felter in Go er en ligetil proces. Det standard værdi for et struct-felt kan indstilles ved hjælp af syntaksen fieldName:defaultValue . Overvej f.eks. følgende strukturdefinition:

type Personstruktur {
Navnestreng
Alder int
Kønsstreng
}

At tildele Standardværdier til felterne i denne struktur kan vi bruge følgende syntaks:

p := Person {
Navn: 'John Doe' ,
Alder: 30 ,
Køn: 'Han' ,
}

I ovenstående eksempel har vi tildelt Standardværdier til felterne i personstrukturen. Hvis vi udelader nogen af ​​værdierne under initialisering, vil standard værdi vil blive brugt i stedet. For eksempel, hvis vi initialiserer et Person-objekt som dette:

p := Person {
Navn: 'Jane Doe' ,
}

Det resulterende Person-objekt vil have Standardværdier for felterne Alder og Køn, som er henholdsvis 0 og en tom streng.

Her er en komplet kode, der illustrerer ovenstående proces:

hovedpakke
importere 'fmt'

type Personstruktur {
Navn  -streng
Alder    int
Kønsstreng
}
func hoved ( ) {
p1 := Person {
Navn: 'John Doe' ,
Alder: 30 ,
Køn: 'Han' ,
}
fmt.Println ( p1 )

p2 := Person {
Navn: 'Jeremy' ,
}
fmt.Println ( s2 )
}

I ovenstående eksempel bygger vi en personstruktur, der har tre felter: Navn, en int, der repræsenterer alder, og køn, en streng, der repræsenterer køn. Strukturinitialiseringssyntaksen bruges derefter til at konstruere to Person-forekomster, p1 og p2. p1 initialiseres med værdierne 'John Doe' for Navn, '30' for Alder og 'Mand' for Køn, som alle er værdier, der udtrykkeligt er angivet. Da vi ikke har givet værdier for alder og køn, vil standardværdierne på henholdsvis 0 og en tom streng blive tildelt dem. p2 initialiseres først med kun feltet Navn.

Produktion

Konklusion

Tildeler Standardværdier in Go er et væsentligt aspekt af programmering med dette sprog. Det hjælper med at sikre, at alle oprettede struct-forekomster har standarddata tildelt. Ved at bruge en af ​​de metoder, der er forklaret ovenfor, kan udviklere indstille Standardværdier af strukturfelter effektivt.