Dados em Structs
Agora que sabemos como criar uma instância de uma estrutura, devemos aprender como armazenar e modificar dados nela.
Podemos usar o símbolo ponto (.) seguido do nome do campo para referenciá-lo. Considere o exemplo no programa a seguir, onde criamos uma instância da estrutura Student chamada 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) }
Isso ocorre porque nenhum dado foi armazenado manualmente na estrutura, fazendo com que cada um dos campos assuma um valor zero padrão de acordo com seu tipo.
Nota
Em Go, não é possível especificar valores padrão próprios para os campos; o compilador atribui automaticamente valores zero aos campos com base em seus tipos. No entanto, é possível definir valores padrão personalizados criando uma função construtora, o que está fora do escopo deste curso, pois requer conhecimento sobre ponteiros.
Também é possível referenciar e atribuir valores aos campos utilizando o mesmo método de referência, por exemplo:
index.go
1student1.name = "Leo"
Portanto, é possível modificar o programa acima para armazenar alguns dados iniciais conforme necessário:
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) }
Nota
Os campos de uma struct também são chamados de membros.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
What are the zero values for different data types in Go?
Can you explain how to assign values to struct fields?
What is a constructor function in Go?
Awesome!
Completion rate improved to 1.96
Dados em Structs
Deslize para mostrar o menu
Agora que sabemos como criar uma instância de uma estrutura, devemos aprender como armazenar e modificar dados nela.
Podemos usar o símbolo ponto (.) seguido do nome do campo para referenciá-lo. Considere o exemplo no programa a seguir, onde criamos uma instância da estrutura Student chamada 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) }
Isso ocorre porque nenhum dado foi armazenado manualmente na estrutura, fazendo com que cada um dos campos assuma um valor zero padrão de acordo com seu tipo.
Nota
Em Go, não é possível especificar valores padrão próprios para os campos; o compilador atribui automaticamente valores zero aos campos com base em seus tipos. No entanto, é possível definir valores padrão personalizados criando uma função construtora, o que está fora do escopo deste curso, pois requer conhecimento sobre ponteiros.
Também é possível referenciar e atribuir valores aos campos utilizando o mesmo método de referência, por exemplo:
index.go
1student1.name = "Leo"
Portanto, é possível modificar o programa acima para armazenar alguns dados iniciais conforme necessário:
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) }
Nota
Os campos de uma struct também são chamados de membros.
Obrigado pelo seu feedback!