Kuidas määrata Golangi struktuuriväljadele vaikeväärtusi?

Kuidas Maarata Golangi Struktuurivaljadele Vaikevaartusi



Golang on kaasaegne programmeerimiskeel, mis on viimastel aastatel populaarsust kogunud. Üks Golangi võimsaid omadusi on selle võime defineerida ja manipuleerida struktuure. Struktuurid on kasutaja määratletud andmetüübid, mis võimaldavad arendajatel rühmitada seotud andmeväljad üheks objektiks. In Go, struktuurid võib olla Vaikeväärtused nende väljadele määratud, mis muudab nende lähtestamise palju lihtsamaks.

Selles essees uurime, kuidas määrata a vaikeväärtus struktuurivälja jaoks Golangis.

Mis on struktuuriväljad?

Esiteks on oluline mõista mõistet rajada väljad . The rajada väljad on muutujad, mis on rühmitatud moodustama a struktuur objektiks. Iga struktuuri väli sellel on nimi ja andmetüüp. Näiteks isikut esindaval struktuuril võivad olla sellised väljad nagu nimi, vanus ja sugu.







Kuidas määrata Golangi struktuuriväljadele vaikeväärtusi?

Vaikeväärtused saab määrata Go struct väljadele, kasutades:



  • Vaikimisi nullväärtused
  • Konstruktorid
  • Struktuuriliteraalid
  • Väljade vaikeväärtused

1: vaikimisi nullväärtused

Go-s saab struct väljadele vaikeväärtuste määramise saavutada nupuga ' nullväärtus ' tunnusjoon. See funktsioon määrab automaatselt vaikeväärtuse kas ' 0 ” või „ vale ” igale initsialiseerimata väljale, olenevalt andmetüübist. See tähendab, et te ei pea konkreetselt struktuuri igale väljale vaikeväärtusi määrama, kuna Go teeb seda teie eest.



See funktsioon võib olla kasulik suurte, paljude väljadega struktuuride käsitlemisel, kuna see säästab aega ja vaeva iga välja vaikeväärtuste käsitsi määramisel.





Siin on näide, mis kasutab struktuuriväljadele vaikeväärtuste määramiseks nullväärtust:

pakett peamine

importida 'fmt'

tüüp Isiku struktuur {
Name   string
Vanus    int
Kõrgus ujuki 64
IsMale bool
}

func main ( ) {
p1 := Isik { Nimi: 'John' , Vanus: 30 }
fmt.Println ( p1.Nimi )
fmt.Println ( p1.Vanus )
fmt.Println ( p1.Kõrgus )
fmt.Println ( p1.OnMale )
}

Ülaltoodud kood määratleb isiku struktuur nelja väljaga: nimi, vanus, pikkus ja isane, mis kõik on tõeväärtuse andmetüüpi. Seejärel loome klassist Isik uue eksemplari p1 ja initsialiseerime mõned selle väljad, kasutades väljade nimede ja väärtuste täpsustamiseks struct literaale. The vaikimisi nullväärtused väljade jaoks, mida initsialiseerimisel otseselt ei määratud, kuvatakse, kui prindite väljade väärtused kasutades fmt.Println .



Väljund

2: Konstruktorid

Kirjutades a konstruktor funktsiooni struct jaoks, saate määrata ka Golangi struct väljadele vaikeväärtused. The konstruktor funktsioon loob struktuuri uue eksemplari ja määrab selle väljadele vaikeväärtused. See meetod säästab vaeva ja aega, eriti kui suhtlete tohutute arvukate väljadega struktuuridega.

Siin on näide, kuidas määratleda a konstruktor funktsioon struktuuri vaikevälja väärtustega:

pakett peamine

importida 'fmt'

tüüp Isiku struktuur {
Nimi    string
Vanus     int
Aadressi string
}
func NewPerson ( ) * Isik {
tagasi & Isik {
Nimi: 'John Doe' ,
Vanus: 30 ,
Aadress: '123 Main Street' ,
}
}
func main ( ) {
p := UusPerson ( )
fmt.Println ( lk.Nimi, lk.Vanus, lk.Aadress )
}

Ülaltoodud koodis on a Isik struct on määratletud, samuti uus inimene() funktsioon, mis loob uue eksemplari Isik etteantud vaikeväärtustega struktuur. Me helistame uus inimene() sisse peamine () uue isiku eksemplari loomiseks välja vaikeväärtused ja prindime seejärel välja selle eksemplari väljade väärtused.

Väljund

3: Struktuuriliteraalid

Golangis saate määrata struct väljade vaikeväärtused kasutades struktuur literaalid samuti. Lihtsalt looge struktuuri uus eksemplar ja määrake väärtused igale lähtestatavale väljale. Kui soovite määrata vaikeväärtused väljadele, mida te otseselt ei initsialiseeri, saate kasutada nullväärtuse funktsiooni.

Siin on näide kasutamise kohta struktuur literaalid struktuuri jaoks välja vaikeväärtuste määramiseks:

pakett peamine

importida 'fmt'

tüüp Isiku struktuur {
Nimi    string
Vanus     int
Aadressi string
}
func main ( ) {
p := Isik {
Nimi: 'John Doe' ,
Vanus: 30 ,
}
fmt.Println ( lk.Nimi, lk.Vanus, lk.Aadress )
}

Ülaltoodud koodis määratleme a Isik struct selles näites ja looge sellest uus eksemplar, kasutades struct literaali ja selle väljade vaikeväärtusi. Uus Isik eksemplar luuakse kaustas main(), mõned välja väärtused on täidetud ja teised tühjaks jäetud. Alates Aadress välja ei lähtestata, saab see tühja stringi, mis on selle välja vaikeväärtus. Lõpuks prindime isiku eksemplari välja väärtused.

Väljund

4: väljade vaikeväärtused

Määramine Vaikeväärtused juurde rajada väljad in Go on lihtne protsess. The vaikeväärtus struct välja jaoks saab määrata süntaksi abil fieldName:defaultValue . Näiteks kaaluge järgmist struktuuri määratlust:

tüüp Isiku struktuur {
Nime string
Vanus int
Soo string
}

Määramiseks Vaikeväärtused Selle struktuuri väljadele saame kasutada järgmist süntaksit:

p := Isik {
Nimi: 'John Doe' ,
Vanus: 30 ,
Sugu: 'Mees' ,
}

Ülaltoodud näites oleme määranud Vaikeväärtused Isikustruktuuri väljadele. Kui jätame lähtestamise ajal mõne väärtuse välja, siis vaikeväärtus selle asemel kasutatakse. Näiteks kui initsialiseerime isikuobjekti järgmiselt:

p := Isik {
Nimi: 'Jane Doe' ,
}

Saadud isikuobjektil on Vaikeväärtused väljadele Vanus ja Sugu, mis on vastavalt 0 ja tühi string.

Siin on täielik kood, mis illustreerib ülaltoodud protsessi:

pakett peamine
importida 'fmt'

tüüp Isiku struktuur {
Name   string
Vanus    int
Soo string
}
func main ( ) {
p1 := Isik {
Nimi: 'John Doe' ,
Vanus: 30 ,
Sugu: 'Mees' ,
}
fmt.Println ( p1 )

p2 := Isik {
Nimi: 'Jeremy' ,
}
fmt.Println ( p2 )
}

Ülaltoodud näites loome isikustruktuuri, millel on kolm välja: nimi, vanust tähistav int ja sugu, string, mis tähistab sugu. Struktuuri initsialiseerimise süntaksit kasutatakse seejärel kahe isiku eksemplari p1 ja p2 konstrueerimiseks. p1 lähtestatakse väärtustega „John Doe” (nimi), „30” (vanus) ja „Male” (soo), mis kõik on selgesõnaliselt esitatud väärtused. Kuna me ei andnud vanuse ja soo jaoks väärtusi, määratakse neile vastavalt vaikeväärtused 0 ja tühi string. p2 lähtestatakse algselt ainult väljaga Nimi.

Väljund

Järeldus

Määramine Vaikeväärtused in Go on selle keelega programmeerimise oluline aspekt. See aitab tagada, et igale loodud struktuuri eksemplarile on määratud vaikeandmed. Kasutades mõnda ülalkirjeldatud meetodit, saavad arendajad määrata Vaikeväärtused struktuurivälju tõhusalt.