Hogyan rendeljünk alapértelmezett értékeket a struktúra mezőihez a Golangban?

Hogyan Rendeljunk Alapertelmezett Ertekeket A Struktura Mezoihez A Golangban



A Golang egy modern programozási nyelv, amely az elmúlt években népszerűvé vált. A Golang egyik erős tulajdonsága, hogy képes struktúrákat meghatározni és manipulálni. Struktúrák A felhasználó által definiált adattípusok, amelyek lehetővé teszik a fejlesztők számára, hogy a kapcsolódó adatmezőket egyetlen objektumba csoportosítsák. In Go, struktúrák lehet alapértelmezett értékek mezőihez hozzárendelve, ami sokkal egyszerűbbé teszi az inicializálást.

Ebben az esszében megvizsgáljuk, hogyan kell hozzárendelni a alapértelmezett érték egy struct mezőre Golangban.

Mik azok a struktúramezők?

Először is fontos megérteni a fogalmát struct mezők . A struct mezők olyan változók, amelyeket csoportosítva alkotnak a struct tárgy. Minden egyes struct mező neve és adattípusa van. Például egy személyt reprezentáló struktúra tartalmazhat olyan mezőket, mint a név, életkor és nem.







Hogyan rendelhetek alapértelmezett értékeket a struktúramezőkhöz Golangban?

Alapértelmezett értékek hozzárendelhető a Go struct mezőihez a következő használatával:



  • Alapértelmezett nulla értékek
  • Konstruktorok
  • Strukturális betűk
  • Alapértelmezett mezőértékek

1: Alapértelmezett nulla értékek

A Go programban az alapértelmezett értékek hozzárendelése a struct mezőkhöz a „ nulla érték ' funkció. Ez a funkció automatikusan hozzárendel egy alapértelmezett értéket a „ 0 ” vagy „ hamis ” minden inicializálatlan mezőbe, az adattípustól függően. Ez azt jelenti, hogy nem kell kifejezetten alapértelmezett értékeket beállítania a struktúra minden egyes mezőjéhez, mivel a Go ezt megteszi helyetted.



Ez a funkció hasznos lehet nagy, sok mezőt tartalmazó struktúrák kezelésekor, mivel időt és energiát takarít meg az egyes mezők alapértelmezett értékeinek manuális beállításához.





Íme egy példa, amely nulla értéket használ a struct mezők alapértelmezett értékeinek hozzárendelésére:

csomag fő

import 'fmt'

típus Személyi struktúra {
Név   karakterlánc
Életkor    int
Magasság úszó64
IsMale bool
}

func main ( ) {
p1 := Személy { Név: 'János' , Életkor: 30 }
fmt.Println ( p1.Név )
fmt.Println ( p1.Kor )
fmt.Println ( p1.Magasság )
fmt.Println ( p1.IsMale )
}

A fenti kód meghatároz egy személyt struct négy mezővel: Név, Életkor, Magasság és IsFérfi, amelyek mindegyike bool adattípusú. Ezután elkészítjük a Person osztály új példányát, a p1-et, és inicializáljuk néhány mezőjét a struct literálok használatával a mezőnevek és értékek megadásához. A alapértelmezett nulla értékek Az inicializálás során nem kifejezetten beállított mezők megjelennek, amikor kinyomtatja a mezők értékét a fmt.Println .



Kimenet

2: Konstruktorok

Írással a konstruktőr függvényt a structhoz, alapértelmezett értékeket is megadhat a Golang struct mezőinek. A konstruktőr függvény létrehozza a struktúra új példányát, és beállítja az alapértelmezett értékeket a mezőihez. Ez a módszer erőfeszítést és időt takarít meg, különösen akkor, ha számos mezőt tartalmazó hatalmas struktúrákkal dolgozik.

Itt van egy példa arra, hogyan kell meghatározni a konstruktőr függvény egy struktúra alapértelmezett mezőértékeivel:

csomag fő

import 'fmt'

típus Személyi struktúra {
Név    karakterlánc
Életkor     int
Cím karakterlánc
}
func NewPerson ( ) * Személy {
Visszatérés & Személy {
Név: 'Gipsz Jakab' ,
Kor: 30 ,
Cím: 'Majd utca 123' ,
}
}
func main ( ) {
p := NewPerson ( )
fmt.Println ( p.Név, p.Kor, p.Cím )
}

A fenti kódban a Személy struct definiálva van, valamint a új személy() függvényt, amely a Személy struct előre meghatározott alapértelmezett értékekkel. Hívjuk új személy() ban ben fő() új Személy példány létrehozásához alapértelmezett mezőértékek , majd kinyomtatjuk az adott példány mezőinek értékeit.

Kimenet

3: Struct Literals

A Golangban a struct mezők alapértelmezett értékeit állíthatja be struct literálokat is. Egyszerűen hozza létre a struktúra új példányát, és állítsa be az értékeket minden inicializálandó mezőhöz. Ha alapértelmezett értékeket szeretne beállítani olyan mezőkhöz, amelyeket nem kifejezetten inicializál, használhatja a nulla érték funkciót.

Itt van egy példa a használatára struct literálokat a struktúra alapértelmezett mezőértékeinek beállításához:

csomag fő

import 'fmt'

típus Személyi struktúra {
Név    karakterlánc
Életkor     int
Cím karakterlánc
}
func main ( ) {
p := Személy {
Név: 'Gipsz Jakab' ,
Kor: 30 ,
}
fmt.Println ( p.Név, p.Kor, p.Cím )
}

A fenti kódban definiáljuk a Személy struct ebben a példában, és hozzon létre egy új példányt a struct literal és az alapértelmezett értékek használatával a mezőihez. Egy új Személy példány jön létre a main()-ban, egyes mezőértékekkel kitöltve, míg mások üresen hagyva. Mivel a Cím mező nincs inicializálva, akkor az üres karakterláncot kapja, amely a mező alapértelmezett értéke. Végül kinyomtatjuk a Személy példány mezőértékeit.

Kimenet

4: Alapértelmezett mezőértékek

Hozzárendelés alapértelmezett értékek nak nek struct mezők in Go egy egyszerű folyamat. A alapértelmezett érték egy struct mezőhöz a szintaxis segítségével állítható be fieldName:defaultValue . Vegyük például a következő struktúra definíciót:

típus Személyi struktúra {
Név karakterlánc
Életkor int
Nemi karakterlánc
}

Hozzárendelni alapértelmezett értékek ennek a struktúrának a mezőihez a következő szintaxist használhatjuk:

p := Személy {
Név: 'Gipsz Jakab' ,
Kor: 30 ,
Nem: 'Férfi' ,
}

A fenti példában hozzárendeltük alapértelmezett értékek a Személy struktúra mezőire. Ha az inicializálás során bármelyik értéket elhagyjuk, a alapértelmezett érték helyett. Például, ha így inicializálunk egy Person objektumot:

p := Személy {
Név: 'Jane Doe' ,
}

Az eredményül kapott Személy objektum a alapértelmezett értékek az Életkor és a Nem mezőkhöz, amelyek 0, illetve egy üres karakterlánc.

Itt van egy teljes kód, amely szemlélteti a fenti folyamatot:

csomag fő
import 'fmt'

típus Személyi struktúra {
Név   karakterlánc
Életkor    int
Nemi karakterlánc
}
func main ( ) {
p1 := Személy {
Név: 'Gipsz Jakab' ,
Kor: 30 ,
Nem: 'Férfi' ,
}
fmt.Println ( p1 )

p2 := Személy {
Név: 'Jeremy' ,
}
fmt.Println ( p2 )
}

A fenti példában egy Személy struktúrát építünk fel, amelynek három mezője van: Név, az életkort jelző int és Nem, a nemet jelző karakterlánc. A struct inicializálási szintaxist ezután két személy példány, a p1 és p2 létrehozására használják. A p1 inicializálása a „John Doe” névvel, a „30” az életkor és a „Férfi” értékkel a nemhez tartozik, amelyek mindegyike kifejezetten megadott értékek. Mivel nem adtunk meg értékeket az Életkor és a Nem számára, az alapértelmezett 0, illetve egy üres karakterlánc lesz hozzárendelve. A p2 kezdetben csak a Név mezővel inicializálódik.

Kimenet

Következtetés

Hozzárendelés alapértelmezett értékek in Go az ezzel a nyelvvel történő programozás alapvető eleme. Segít abban, hogy minden létrehozott struktúrapéldányhoz alapértelmezett adatok legyenek hozzárendelve. A fent ismertetett módszerek bármelyikével a fejlesztők beállíthatják a alapértelmezett értékek a struct mezőket hatékonyan.