Hvordan tildele standardverdier for struct-felt i Golang?

Hvordan Tildele Standardverdier For Struct Felt I Golang



Golang er et moderne programmeringsspråk som har vunnet popularitet de siste årene. En av de kraftige egenskapene til Golang er dens evne til å definere og manipulere strukturer. Strukturer er brukerdefinerte datatyper som lar utviklere gruppere relaterte datafelt til ett enkelt objekt. I Go, strukturer kan ha standardverdier tilordnet feltene deres, noe som gjør initialiseringen mye enklere.

I dette essayet vil vi utforske hvordan du tildeler en standardverdi for et struct-felt i Golang.

Hva er strukturfelt?

For det første er det viktig å forstå konseptet strukturfelt . De strukturfelt er variabler som er gruppert for å danne en struktur gjenstand. Hver strukturfelt har et navn og en datatype. For eksempel kan en struktur som representerer en person ha felt som navn, alder og kjønn.







Hvordan tildele standardverdier for strukturfelt i Golang?

Standardverdier kan tilordnes for struct-felt i Go ved å bruke:



  • Standard nullverdier
  • Konstruktører
  • Strukturer bokstaver
  • Standard feltverdier

1: Standard nullverdier

I Go kan tilordning av standardverdier til struct-felt oppnås med ' null verdi ' trekk. Denne funksjonen tildeler automatisk en standardverdi på enten ' 0 ' eller ' falsk ” til hvert uinitialisert felt, avhengig av datatypen. Dette betyr at du ikke eksplisitt trenger å angi standardverdier for hvert felt i strukturen, da Go vil gjøre det for deg.



Denne funksjonen kan være nyttig når du arbeider med store strukturer med mange felt, da den sparer tid og krefter på å manuelt angi standardverdier for hvert felt.





Her er et eksempel som bruker nullverdien til å tilordne standardverdier for struct-felt:

hovedpakke

import 'fmt'

type Personstruktur {
Navn  -streng
Alder    int
Høyde flyter64
IsMale bool
}

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

Koden ovenfor definerer en person struktur med fire felt: Name, Age, Height og IsMale, som alle er av bool-datatypen. Deretter lager vi en ny forekomst av Person-klassen, p1, og initialiserer noen av feltene ved å bruke struct-literals for å spesifisere feltnavnene og -verdiene. De standard nullverdier for feltene som ikke eksplisitt ble angitt under initialisering, vises når du skriver ut verdiene til feltene ved hjelp av fmt.Println .



Produksjon

2: Konstruktører

Ved å skrive a konstruktør funksjon for strukturen, kan du også gi standardverdier til strukturfelt i Golang. De konstruktør funksjonen oppretter en ny forekomst av strukturen og setter standardverdiene for feltene. Denne metoden sparer krefter og tid, spesielt når du samhandler med enorme strukturer med mange felt.

Her er et eksempel på hvordan du definerer en konstruktør funksjon med standard feltverdier for en struktur:

hovedpakke

import 'fmt'

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

I koden ovenfor, a Person struct er definert, så vel som newPerson() funksjon, som produserer en ny forekomst av Person struct med forhåndsbestemte standardverdier. Vi ringer newPerson() i hoved() å opprette en ny Person-forekomst med standard feltverdier , og vi skriver deretter ut verdiene for den forekomstens felt.

Produksjon

3: Strukturer bokstaver

I Golang kan du angi standardverdier for struct-felt ved å bruke strukturere bokstaver også. Bare konstruer en ny forekomst av strukturen og angi verdiene for hvert felt som må initialiseres. Hvis du vil angi standardverdier for felt som du ikke eksplisitt initialiserer, kan du bruke nullverdi-funksjonen.

Her er et eksempel på hvordan du bruker strukturere bokstaver for å angi standard feltverdier for en struktur:

hovedpakke

import 'fmt'

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

I koden ovenfor definerer vi en Person struct i dette eksemplet og opprett en ny forekomst av den ved å bruke en struct literal og standardverdier for feltene. En ny Person forekomst opprettes i main() med noen feltverdier fylt ut og andre tomme. Siden Adresse feltet ikke er initialisert, mottar det den tomme strengen som er standardverdien for dette feltet. Til slutt skriver vi ut personforekomstens feltverdier.

Produksjon

4: Standard feltverdier

Tildeler standardverdier til strukturfelt in Go er en enkel prosess. De standardverdi for et struct-felt kan settes ved hjelp av syntaksen feltnavn:defaultValue . Tenk for eksempel på følgende strukturdefinisjon:

type Personstruktur {
Navnestreng
Alder int
Kjønnsstreng
}

Å tildele standardverdier til feltene til denne strukturen kan vi bruke følgende syntaks:

p := Person {
Navn: 'John Doe' ,
Alder: 30 ,
Kjønn: 'Mann' ,
}

I eksemplet ovenfor har vi tildelt standardverdier til feltene til personstrukturen. Hvis vi utelater noen av verdiene under initialisering, vil standardverdi vil bli brukt i stedet. For eksempel, hvis vi initialiserer et Person-objekt slik:

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

Det resulterende Person-objektet vil ha standardverdier for feltene Alder og Kjønn, som er henholdsvis 0 og en tom streng.

Her er en fullstendig kode som illustrerer prosessen ovenfor:

hovedpakke
import 'fmt'

type Personstruktur {
Navn  -streng
Alder    int
Kjønnsstreng
}
func main ( ) {
p1 := Person {
Navn: 'John Doe' ,
Alder: 30 ,
Kjønn: 'Mann' ,
}
fmt.Println ( p1 )

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

I eksemplet ovenfor bygger vi en personstruktur som har tre felt: Navn, en int som representerer alder, og Kjønn, en streng som representerer kjønn. Strukturinitialiseringssyntaksen brukes deretter til å konstruere to Person-forekomster, p1 og p2. p1 er initialisert med verdiene 'John Doe' for Navn, '30' for Alder og 'Mann' for Kjønn, som alle er verdier som er uttrykkelig gitt. Siden vi ikke ga verdier for alder og kjønn, vil standardverdiene på henholdsvis 0 og en tom streng bli tildelt dem. p2 initialiseres først med bare Navn-feltet som er oppgitt.

Produksjon

Konklusjon

Tildeler standardverdier in Go er et viktig aspekt ved programmering med dette språket. Det bidrar til å sikre at hver struct-forekomst som opprettes har standarddata tilordnet. Ved å bruke en av metodene som er forklart ovenfor, kan utviklere angi standardverdier av strukturfelt effektivt.