Kako dodijeliti zadane vrijednosti za polja strukture u Golangu?

Kako Dodijeliti Zadane Vrijednosti Za Polja Strukture U Golangu



Golang je moderan programski jezik koji je stekao popularnost posljednjih godina. Jedna od moćnih značajki Golanga je njegova sposobnost definiranja i manipuliranja strukturama. Strukture su korisnički definirane vrste podataka koje programerima omogućuju grupiranje povezanih podatkovnih polja u jedan objekt. In Go, strukture mogu imati zadane vrijednosti dodijeljeni njihovim poljima, što čini njihovo inicijaliziranje puno lakšim.

U ovom eseju istražit ćemo kako dodijeliti a zadana vrijednost za polje strukture u Golangu.

Što su strukturna polja?

Prije svega, bitno je razumjeti koncept strukturna polja . The strukturna polja su varijable koje su grupirane u obliku a strukturirati objekt. Svaki strukturno polje ima ime i tip podataka. Na primjer, struktura koja predstavlja osobu može imati polja kao što su ime, dob i spol.







Kako dodijeliti zadane vrijednosti strukturnim poljima u Golangu?

Zadane vrijednosti može se dodijeliti strukturnim poljima u Gou pomoću:



  • Zadane nulte vrijednosti
  • Konstruktori
  • Strukturni literali
  • Zadane vrijednosti polja

1: Zadane nulte vrijednosti

U Go, dodjeljivanje zadanih vrijednosti strukturnim poljima može se postići s ' nulta vrijednost ” značajka. Ova značajka automatski dodjeljuje zadanu vrijednost ili ' 0 ' ili ' lažno ” u svako neinicijalizirano polje, ovisno o vrsti podataka. To znači da ne morate eksplicitno postaviti zadane vrijednosti za svako polje u strukturi, jer će Go to učiniti umjesto vas.



Ova značajka može biti korisna kada se radi o velikim strukturama s mnogo polja jer štedi vrijeme i trud pri ručnom postavljanju zadanih vrijednosti za svako polje.





Ovdje je primjer koji koristi nultu vrijednost za dodjelu zadanih vrijednosti za polja strukture:

glavni paket

uvoz 'fmt'

tip Struktura osobe {
Naziv   niz
Dob    int
Visina plovka64
IsMale bool
}

funkcija glavna ( ) {
p1 := Osoba { Ime: 'Ivan' , Dob: 30 }
fmt.Println ( p1.Ime )
fmt.Println ( p1.Dob )
fmt.Println ( p1.Visina )
fmt.Println ( p1.IsMale )
}

Gornji kod definira osobu strukturirati s četiri polja: ime, dob, visina i muško, a sva su bool tipa podataka. Zatim izrađujemo svježu instancu klase Person, p1, i inicijaliziramo neka od njezinih polja korištenjem struct literala za specificiranje naziva i vrijednosti polja. The zadane nulte vrijednosti za polja koja nisu eksplicitno postavljena tijekom inicijalizacije prikazuju se kada ispisujete vrijednosti polja pomoću fmt.Println .



Izlaz

2: Konstruktori

Pišući a konstruktor funkciju za struct, također možete dati zadane vrijednosti za struct polja u Golangu. The konstruktor funkcija stvara novu instancu strukture i postavlja zadane vrijednosti za svoja polja. Ova metoda štedi trud i vrijeme, osobito u interakciji s ogromnim strukturama s brojnim poljima.

Evo primjera kako definirati a konstruktor funkcija sa zadanim vrijednostima polja za strukturu:

glavni paket

uvoz 'fmt'

tip Struktura osobe {
Ime    stringa
Dob     int
Adresni niz
}
func NewPerson ( ) * Osoba {
povratak i Osoba {
Ime: 'John Doe' ,
Dob: 30 ,
Adresa: 'Glavna ulica 123' ,
}
}
funkcija glavna ( ) {
p := Nova osoba ( )
fmt.Println ( str.Ime, str.Dob, str.Adresa )
}

U gornjem kodu, a Osoba struct je definiran, kao i nova osoba() funkcija, koja proizvodi novu instancu Osoba struktura s unaprijed određenim zadanim vrijednostima. Mi zovemo nova osoba() u glavni() za stvaranje nove instance osobe zadane vrijednosti polja , a zatim ispisujemo vrijednosti polja te instance.

Izlaz

3: Strukturirani literali

U Golangu možete postaviti zadane vrijednosti za struct polja pomoću strukturni literali također. Jednostavno konstruirajte novu instancu strukture i postavite vrijednosti za svako polje koje je potrebno inicijalizirati. Ako želite postaviti zadane vrijednosti za polja koja ne inicijalizirate eksplicitno, možete koristiti značajku nulte vrijednosti.

Evo primjera kako koristiti strukturni literali za postavljanje zadanih vrijednosti polja za strukturu:

glavni paket

uvoz 'fmt'

tip Struktura osobe {
Ime    stringa
Dob     int
Adresni niz
}
funkcija glavna ( ) {
p := Osoba {
Ime: 'John Doe' ,
Dob: 30 ,
}
fmt.Println ( str.Ime, str.Dob, str.Adresa )
}

U gornjem kodu definiramo a Osoba struct u ovom primjeru i stvorite njegovu novu instancu koristeći struct literal i zadane vrijednosti za njegova polja. Nova Osoba instanca se stvara u main() s nekim vrijednostima polja popunjenim, a drugima ostavljenim praznima. Budući da je Adresa polje nije inicijalizirano, ono prima prazan niz koji je zadana vrijednost za ovo polje. Na kraju ispisujemo vrijednosti polja instance osobe.

Izlaz

4: Zadane vrijednosti polja

Dodjeljivanje zadane vrijednosti do strukturna polja in Go je jednostavan proces. The zadana vrijednost za polje strukture može se postaviti pomoću sintakse naziv polja: zadana vrijednost . Na primjer, razmotrite sljedeću definiciju strukture:

tip Struktura osobe {
Niz imena
Dob int
Niz spolova
}

Dodijeliti zadane vrijednosti za polja ove strukture, možemo koristiti sljedeću sintaksu:

p := Osoba {
Ime: 'John Doe' ,
Dob: 30 ,
Spol: 'Muški' ,
}

U gornjem primjeru smo dodijelili zadane vrijednosti na polja strukture Osoba. Ako izostavimo bilo koju od vrijednosti tijekom inicijalizacije, zadana vrijednost koristit će se umjesto toga. Na primjer, ako inicijaliziramo objekt osobe ovako:

p := Osoba {
Ime: 'Jane Doe' ,
}

Rezultirajući objekt osobe imat će zadane vrijednosti za polja Dob i Spol, koja su 0 odnosno prazan niz.

Evo cjelovitog koda koji ilustrira gore navedeni proces:

glavni paket
uvoz 'fmt'

tip Struktura osobe {
Naziv   niz
Dob    int
Niz spolova
}
funkcija glavna ( ) {
p1 := Osoba {
Ime: 'John Doe' ,
Dob: 30 ,
Spol: 'Muški' ,
}
fmt.Println ( p1 )

p2 := Osoba {
Ime: 'Jeremy' ,
}
fmt.Println ( p2 )
}

U gornjem primjeru gradimo strukturu osobe koja ima tri polja: ime, int koji predstavlja dob i spol, niz koji predstavlja spol. Sintaksa inicijalizacije strukture se tada koristi za konstrukciju dviju instanci osobe, p1 i p2. p1 se inicijalizira s vrijednostima 'John Doe' za Ime, '30' za Dob i 'Muški' za Spol, što su sve vrijednosti koje su izričito navedene. Budući da nismo dali vrijednosti za Dob i Spol, bit će im dodijeljene zadane vrijednosti 0 i prazan niz. p2 se inicijalno inicijalizira samo s danim poljem Name.

Izlaz

Zaključak

Dodjeljivanje zadane vrijednosti in Go bitan je aspekt programiranja s ovim jezikom. Pomaže osigurati da svaka stvorena instanca strukture ima dodijeljene zadane podatke. Korištenjem bilo koje od gore objašnjenih metoda, programeri mogu postaviti zadane vrijednosti strukturnih polja učinkovito.