Tässä esseessä tutkimme, kuinka a oletusarvo struct-kenttään Golangissa.
Mitä ovat rakennekentät?
Ensinnäkin on tärkeää ymmärtää käsite rakentaa kenttiä . The rakentaa kenttiä ovat muuttujia, jotka on ryhmitelty muodostamaan a struct esine. Jokainen rakennekenttä on nimi ja tietotyyppi. Esimerkiksi henkilöä edustavassa rakenteessa voi olla kenttiä, kuten nimi, ikä ja sukupuoli.
Kuinka määrittää oletusarvot rakennekentille Golangissa?
Oletusarvot voidaan määrittää Go:n struct-kentille käyttämällä:
- Oletusnolla-arvot
- Rakentajat
- Rakennekirjaimet
- Oletuskenttien arvot
1: Oletusnolla-arvot
Go:ssa oletusarvojen määrittäminen struct-kentille voidaan saavuttaa ' nolla arvo ”-ominaisuus. Tämä ominaisuus määrittää automaattisesti oletusarvon joko ' 0 ' tai ' väärä ” jokaiseen alustamattomaan kenttään tietotyypistä riippuen. Tämä tarkoittaa, että sinun ei tarvitse nimenomaisesti asettaa oletusarvoja jokaiselle rakenteen kentälle, koska Go tekee sen puolestasi.
Tämä ominaisuus voi olla hyödyllinen käsiteltäessä suuria rakenteita, joissa on useita kenttiä, koska se säästää aikaa ja vaivaa, joka aiheutuu kunkin kentän oletusarvojen manuaalisesta asettamisesta.
Tässä on esimerkki, joka käyttää nolla-arvoa oletusarvojen määrittämiseen struct-kentille:
pääpakettituonti 'fmt'
tyyppi Henkilörakenne {
Nimimerkkijono
Ikä int
Korkeus kellunta 64
IsMale bool
}
func main ( ) {
p1 := Henkilö { Nimi: 'John' , Ikä: 30 }
fmt.Println ( p1.Nimi )
fmt.Println ( p1.Ikä )
fmt.Println ( p1.Korkeus )
fmt.Println ( p1.On Mies )
}
Yllä oleva koodi määrittelee henkilön struct neljällä kentällä: Nimi, Ikä, Pituus ja IsMale, jotka kaikki ovat bool-tietotyyppiä. Sitten tehdään uusi esiintymä Person-luokasta, p1, ja alustetaan jotkin sen kentät käyttämällä struct literaaleja määrittämään kenttien nimet ja arvot. The oletusnolla-arvot kentät, joita ei nimenomaisesti asetettu alustuksen aikana, näytetään, kun tulostat kenttien arvot käyttämällä fmt.Println .
Lähtö
2: Rakentajat
Kirjoittamalla a rakentaja funktion structille, voit myös antaa oletusarvoja Golangin struct-kentille. The rakentaja -funktio luo rakenteen uuden esiintymän ja asettaa oletusarvot sen kentille. Tämä menetelmä säästää vaivaa ja aikaa, varsinkin kun ollaan vuorovaikutuksessa valtavien, lukuisia kenttiä sisältävien rakenteiden kanssa.
Tässä on esimerkki a rakentaja funktio rakenteen oletuskenttäarvoilla:
pääpakettituonti 'fmt'
tyyppi Henkilörakenne {
Nimi merkkijono
Ikä int
Osoitemerkkijono
}
Func NewPerson ( ) * Henkilö {
palata & Henkilö {
Nimi: 'John Doe' ,
Ikä: 30 ,
Osoite: '123 Main St' ,
}
}
func main ( ) {
p := UusiPerson ( )
fmt.Println ( p.Nimi, s.Ikä, p.Osoite )
}
Yllä olevassa koodissa a Henkilö struct on määritelty, samoin kuin uusi henkilö() funktio, joka tuottaa uuden esiintymän Henkilö struct ennalta määrätyillä oletusarvoilla. Kutsumme uusi henkilö() sisään pää() luodaksesi uuden Person-esiintymän kanssa oletuskenttien arvot , ja tulostamme sitten kyseisen ilmentymän kenttien arvot.
Lähtö
3: Rakennekirjaimet
Golangissa voit asettaa oletusarvot struct-kentille käyttämällä rakentaa literaaleja yhtä hyvin. Yksinkertaisesti luo uusi ilmentymä rakenteelle ja aseta arvot jokaiselle alustettavalle kentälle. Jos haluat määrittää oletusarvot kentille, joita et nimenomaisesti alusta, voit käyttää nolla-arvoominaisuutta.
Tässä on esimerkki käytöstä rakentaa literaaleja asettaaksesi oletuskentän arvot rakenteelle:
pääpakettituonti 'fmt'
tyyppi Henkilörakenne {
Nimi merkkijono
Ikä int
Osoitemerkkijono
}
func main ( ) {
p := Henkilö {
Nimi: 'John Doe' ,
Ikä: 30 ,
}
fmt.Println ( p.Nimi, s.Ikä, p.Osoite )
}
Yllä olevassa koodissa määrittelemme a Henkilö struct tässä esimerkissä ja luo siitä uusi esiintymä käyttämällä struct literaalia ja oletusarvoja sen kentille. Uusi Henkilö ilmentymä luodaan kenttään main() niin, että osa kenttien arvoista on täytetty ja osa jätetty tyhjiksi. Koska Osoite kenttää ei ole alustettu, se vastaanottaa tyhjän merkkijonon, joka on tämän kentän oletusarvo. Lopuksi tulostamme Henkilö-ilmentymän kenttäarvot.
Lähtö
4: Oletuskenttien arvot
Määritetään oletusarvot to rakentaa kenttiä in Go on suoraviivainen prosessi. The oletusarvo struct-kenttään voidaan asettaa käyttämällä syntaksia fieldName:oletusarvo . Harkitse esimerkiksi seuraavaa rakenteen määritelmää:
tyyppi Henkilörakenne {Nimimerkkijono
Ikä int
Sukupuolimerkkijono
}
Määräämään oletusarvot tämän rakenteen kenttiin voimme käyttää seuraavaa syntaksia:
p := Henkilö {Nimi: 'John Doe' ,
Ikä: 30 ,
Sukupuoli: 'Uros' ,
}
Yllä olevassa esimerkissä olemme määrittäneet oletusarvot persoonarakenteen kenttiin. Jos jätämme pois jonkin arvoista alustuksen aikana, oletusarvo käytetään sen sijaan. Jos esimerkiksi alustamme Person-objektin seuraavasti:
p := Henkilö {Nimi: 'Jane Doe' ,
}
Tuloksena olevalla Person-objektilla on oletusarvot Ikä- ja Sukupuoli-kentille, jotka ovat 0 ja tyhjä merkkijono.
Tässä on täydellinen koodi, joka havainnollistaa yllä olevaa prosessia:
pääpakettituonti 'fmt'
tyyppi Henkilörakenne {
Nimimerkkijono
Ikä int
Sukupuolimerkkijono
}
func main ( ) {
p1 := Henkilö {
Nimi: 'John Doe' ,
Ikä: 30 ,
Sukupuoli: 'Uros' ,
}
fmt.Println ( p1 )
p2 := Henkilö {
Nimi: 'Jeremy' ,
}
fmt.Println ( p2 )
}
Yllä olevassa esimerkissä rakennamme Person-rakenteen, jossa on kolme kenttää: Nimi, ikää edustava int ja sukupuoli, sukupuolta edustava merkkijono. Rakenteen alustussyntaksia käytetään sitten kahden henkilö-instanssin, p1 ja p2, rakentamiseen. p1 on alustettu arvoilla 'John Doe' nimelle, '30' ikälle ja 'mies' sukupuolelle, jotka ovat kaikki nimenomaisesti annettuja arvoja. Koska emme antaneet arvoja Ikälle ja Sukupuolelle, niille määritetään oletusarvot 0 ja vastaavasti tyhjä merkkijono. p2 alustetaan aluksi vain Nimi-kentällä.
Lähtö
Johtopäätös
Määritetään oletusarvot in Go on olennainen osa ohjelmointia tällä kielellä. Se auttaa varmistamaan, että jokaiselle luodulle rakenneinstanssille on määritetty oletustiedot. Käyttämällä mitä tahansa yllä kuvatuista menetelmistä kehittäjät voivat asettaa oletusarvot rakentaa kentät tehokkaasti.