Tiedot Structeissa
Nyt kun osaamme luoda rakenteen instanssin, meidän tulisi oppia, miten tietoa tallennetaan ja muokataan niissä.
Voimme käyttää pistettä (.) ja kentän nimeä viitataksemme siihen. Tarkastellaan seuraavaa esimerkkiä, jossa luodaan Student-luokan instanssi nimeltä student1:
index.go
123456789101112131415161718192021package main import "fmt" type Student struct { name string age int id int course string grades [5]float32 } func main() { var student1 Student fmt.Println("Name:", student1.name) fmt.Println("Age:", student1.age) fmt.Println("ID:", student1.id) fmt.Println("Course:", student1.course) fmt.Println("Grades:", student1.grades) }
Tämä johtuu siitä, että rakenteeseen ei tallennettu tietoja manuaalisesti, jolloin jokainen kenttä saa oletuksena nolla-arvon tyypin perusteella.
Huomio
Go:ssa emme voi määrittää omia oletusarvoja kentille; kieli asettaa automaattisesti nolla-arvot kentille niiden tyyppien mukaan. Voimme kuitenkin määrittää mukautettuja oletusarvoja luomalla konstruktiofunktion, mutta tämä vaatii osoittimien tuntemusta ja ei kuulu tämän kurssin aihepiiriin.
Voimme myös viitata kenttiin ja asettaa niille arvoja samalla viittaustavalla, esimerkiksi:
index.go
1student1.name = "Leo"
Voimme siis muokata yllä olevaa ohjelmaa tallentaaksemme siihen alkuperäisiä tietoja seuraavasti:
index.go
123456789101112131415161718192021222324252627package main import "fmt" type Student struct { name string age int id int course string grades [5]float32 } func main() { var student1 Student student1.name = "Leo" student1.age = 21 student1.id = 121 student1.course = "CS" student1.grades = [5] float32 { 4.5, 4.55, 4.49, 4.92, 5.0 } fmt.Println("Name:", student1.name) fmt.Println("Age:", student1.age) fmt.Println("ID:", student1.id) fmt.Println("Course:", student1.course) fmt.Println("Grades:", student1.grades) }
Huomio
Rakenteen kenttiä kutsutaan myös jäseniksi.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 1.96
Tiedot Structeissa
Pyyhkäise näyttääksesi valikon
Nyt kun osaamme luoda rakenteen instanssin, meidän tulisi oppia, miten tietoa tallennetaan ja muokataan niissä.
Voimme käyttää pistettä (.) ja kentän nimeä viitataksemme siihen. Tarkastellaan seuraavaa esimerkkiä, jossa luodaan Student-luokan instanssi nimeltä student1:
index.go
123456789101112131415161718192021package main import "fmt" type Student struct { name string age int id int course string grades [5]float32 } func main() { var student1 Student fmt.Println("Name:", student1.name) fmt.Println("Age:", student1.age) fmt.Println("ID:", student1.id) fmt.Println("Course:", student1.course) fmt.Println("Grades:", student1.grades) }
Tämä johtuu siitä, että rakenteeseen ei tallennettu tietoja manuaalisesti, jolloin jokainen kenttä saa oletuksena nolla-arvon tyypin perusteella.
Huomio
Go:ssa emme voi määrittää omia oletusarvoja kentille; kieli asettaa automaattisesti nolla-arvot kentille niiden tyyppien mukaan. Voimme kuitenkin määrittää mukautettuja oletusarvoja luomalla konstruktiofunktion, mutta tämä vaatii osoittimien tuntemusta ja ei kuulu tämän kurssin aihepiiriin.
Voimme myös viitata kenttiin ja asettaa niille arvoja samalla viittaustavalla, esimerkiksi:
index.go
1student1.name = "Leo"
Voimme siis muokata yllä olevaa ohjelmaa tallentaaksemme siihen alkuperäisiä tietoja seuraavasti:
index.go
123456789101112131415161718192021222324252627package main import "fmt" type Student struct { name string age int id int course string grades [5]float32 } func main() { var student1 Student student1.name = "Leo" student1.age = 21 student1.id = 121 student1.course = "CS" student1.grades = [5] float32 { 4.5, 4.55, 4.49, 4.92, 5.0 } fmt.Println("Name:", student1.name) fmt.Println("Age:", student1.age) fmt.Println("ID:", student1.id) fmt.Println("Course:", student1.course) fmt.Println("Grades:", student1.grades) }
Huomio
Rakenteen kenttiä kutsutaan myös jäseniksi.
Kiitos palautteestasi!