Kā piešķirt noklusējuma vērtības struktūras laukiem Golangā?

Ka Pieskirt Noklusejuma Vertibas Strukturas Laukiem Golanga



Golang ir moderna programmēšanas valoda, kas pēdējos gados ir guvusi popularitāti. Viena no spēcīgajām Golang iezīmēm ir tās spēja definēt un manipulēt ar struktūrām. Struktūras ir lietotāja definēti datu tipi, kas ļauj izstrādātājiem grupēt saistītos datu laukus vienā objektā. In Go, struktūras var piederēt noklusējuma vērtības piešķirti viņu laukiem, kas padara to inicializēšanu daudz vienkāršāku.

Šajā esejā mēs izpētīsim, kā piešķirt a noklusējuma vērtība struktūras laukam Golangā.

Kas ir strukturālie lauki?

Pirmkārt, ir svarīgi saprast jēdzienu strukturēt laukus . The strukturēt laukus ir mainīgie, kas ir sagrupēti, veidojot a struktūra objektu. Katrs struktūras lauks ir nosaukums un datu tips. Piemēram, struktūrai, kas attēlo personu, var būt tādi lauki kā vārds, vecums un dzimums.







Kā Golangā piešķirt noklusējuma vērtības struktūru laukiem?

Noklusējuma vērtības var piešķirt struct laukiem programmā Go, izmantojot:



  • Noklusējuma nulles vērtības
  • Konstruktori
  • Struktūras burti
  • Noklusējuma lauku vērtības

1: noklusējuma nulles vērtības

Programmā Go noklusējuma vērtību piešķiršanu struct laukiem var panākt, izmantojot “ nulles vērtība ” funkcija. Šī funkcija automātiski piešķir noklusējuma vērtību vai nu “ 0 ” vai “ viltus ” katram neinicializētam laukam atkarībā no datu veida. Tas nozīmē, ka jums nav skaidri jāiestata noklusējuma vērtības katram struktūras laukam, jo ​​Go to izdarīs jūsu vietā.



Šī funkcija var noderēt, strādājot ar lielām struktūrām ar daudziem laukiem, jo ​​tā ietaupa laiku un pūles, manuāli iestatot noklusējuma vērtības katram laukam.





Šeit ir piemērs, kas izmanto nulles vērtību, lai piešķirtu noklusējuma vērtības struct laukiem:

galvenā pakete

imports 'fmt'

veids Personas struktūra {
Nosaukuma virkne
Vecums    int
Augstums pludiņš64
IsMale bool
}

galvenā funkcija ( ) {
p1 := Persona { Vārds: 'Džons' , Vecums: 30 }
fmt.Println ( p1.Vārds )
fmt.Println ( p1.Vecums )
fmt.Println ( p1.Augums )
fmt.Println ( p1.IsVīrietis )
}

Iepriekš minētais kods definē personu struktūra ar četriem laukiem: Vārds, Vecums, Augums un IsVīrietis, kas visi ir būtības datu tipa. Pēc tam mēs izveidojam jaunu Person klases instanci p1 un inicializējam dažus tās laukus, izmantojot struct literāļus, lai norādītu lauku nosaukumus un vērtības. The noklusējuma nulles vērtības laukiem, kas inicializācijas laikā netika skaidri iestatīti, tiek parādīti, kad drukājat lauku vērtības, izmantojot fmt.Println .



Izvade

2: konstruktori

Rakstot a konstruktors funkciju struct, varat arī piešķirt noklusējuma vērtības struct laukiem Golangā. The konstruktors funkcija izveido jaunu struktūras gadījumu un iestata noklusējuma vērtības tās laukiem. Šī metode ietaupa pūles un laiku, jo īpaši, mijiedarbojoties ar milzīgām struktūrām ar daudziem laukiem.

Šeit ir piemērs, kā definēt a konstruktors funkcija ar noklusējuma lauka vērtībām struktūrai:

galvenā pakete

imports 'fmt'

veids Personas struktūra {
Nosaukums    virkne
Vecums     starpt
Adreses virkne
}
func NewPerson ( ) * Persona {
atgriezties & Persona {
Vārds: 'Džons Dū' ,
Vecums: 30 ,
Adrese: '123 Main St' ,
}
}
galvenā funkcija ( ) {
p := NewPerson ( )
fmt.Println ( lpp.Vārds, lpp.Vecums, lpp.Adrese )
}

Iepriekš minētajā kodā a Persona ir definēta struktūra, kā arī newPerson() funkcija, kas rada jaunu instanci Persona struktūra ar iepriekš noteiktiem noklusējuma iestatījumiem. Mēs saucam newPerson() iekšā galvenais () lai izveidotu jaunu Personas gadījumu ar noklusējuma lauka vērtības , un pēc tam mēs izdrukājam šīs instances lauku vērtības.

Izvade

3: Struktūras burti

Programmā Golang varat iestatīt noklusējuma vērtības struct laukiem, izmantojot strukturēt burtus arī. Vienkārši izveidojiet jaunu struktūras gadījumu un iestatiet vērtības katram laukam, kas ir jāinicializē. Ja vēlaties iestatīt noklusējuma vērtības laukiem, kurus neesat īpaši inicializējis, varat izmantot nulles vērtības līdzekli.

Šeit ir lietošanas piemērs strukturēt burtus lai struktūrai iestatītu noklusējuma lauka vērtības:

galvenā pakete

imports 'fmt'

veids Personas struktūra {
Nosaukums    virkne
Vecums     starpt
Adreses virkne
}
galvenā funkcija ( ) {
p := Persona {
Vārds: 'Džons Dū' ,
Vecums: 30 ,
}
fmt.Println ( lpp.Vārds, lpp.Vecums, lpp.Adrese )
}

Iepriekš minētajā kodā mēs definējam a Persona struct šajā piemērā un izveidojiet jaunu tā gadījumu, izmantojot struct literal un noklusējuma vērtības tā laukiem. Jauns Persona eksemplārs ir izveidots galvenajā () ar dažām lauku vērtībām, kas ir aizpildītas, bet citas ir atstātas tukšas. Kopš Adrese lauks nav inicializēts, tas saņem tukšu virkni, kas ir šī lauka noklusējuma vērtība. Visbeidzot, mēs izdrukājam personas instances lauka vērtības.

Izvade

4: noklusējuma lauku vērtības

Piešķiršana noklusējuma vērtības uz strukturēt laukus in Go ir vienkāršs process. The noklusējuma vērtība struktūras laukam var iestatīt, izmantojot sintaksi fieldName:defaultValue . Piemēram, apsveriet šādu struktūras definīciju:

veids Personas struktūra {
Nosaukuma virkne
Vecums starp
Dzimuma virkne
}

Lai piešķirtu noklusējuma vērtības šīs struktūras laukiem mēs varam izmantot šādu sintaksi:

p := Persona {
Vārds: 'Džons Dū' ,
Vecums: 30 ,
Dzimums: 'Vīrietis' ,
}

Iepriekš minētajā piemērā mēs esam piešķīruši noklusējuma vērtības uz Personas struktūras laukiem. Ja inicializācijas laikā izlaižam kādu no vērtībām, noklusējuma vērtība tā vietā tiks izmantots. Piemēram, ja mēs inicializējam personas objektu šādi:

p := Persona {
Vārds: 'Džeina Dū' ,
}

Iegūtajam Personas objektam būs noklusējuma vērtības laukiem Vecums un Dzimums, kas ir attiecīgi 0 un tukša virkne.

Šeit ir pilns kods, kas ilustrē iepriekš minēto procesu:

galvenā pakete
imports 'fmt'

veids Personas struktūra {
Nosaukuma virkne
Vecums    int
Dzimuma virkne
}
galvenā funkcija ( ) {
p1 := Persona {
Vārds: 'Džons Dū' ,
Vecums: 30 ,
Dzimums: 'Vīrietis' ,
}
fmt.Println ( p1 )

p2 := Persona {
Vārds: 'Džeremijs' ,
}
fmt.Println ( p2 )
}

Iepriekš minētajā piemērā mēs izveidojam Personas struktūru, kurā ir trīs lauki: vārds, int, kas apzīmē vecumu, un dzimums, virkne, kas apzīmē dzimumu. Struktūras inicializācijas sintakse tiek izmantota, lai izveidotu divus Personas gadījumus, p1 un p2. p1 tiek inicializēts ar vērtībām “John Doe” vārdam, “30” vecumam un “Vīrietis” dzimumam, kas visas ir vērtības, kas ir skaidri norādītas. Tā kā mēs nenorādījām vecuma un dzimuma vērtības, tām tiks piešķirtas attiecīgi noklusējuma vērtības 0 un tukša virkne. p2 sākotnēji tiek inicializēts, izmantojot tikai lauku Name.

Izvade

Secinājums

Piešķiršana noklusējuma vērtības in Go ir būtisks šīs valodas programmēšanas aspekts. Tas palīdz nodrošināt, ka katrai izveidotajai struktūras instancei ir piešķirti noklusējuma dati. Izmantojot jebkuru no iepriekš aprakstītajām metodēm, izstrādātāji var iestatīt noklusējuma vērtības strukturēt laukus efektīvi.