Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Dados em Structs | Introdução a Structs e Mapas
Introdução ao Golang

bookDados 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

index.go

copy
123456789101112131415161718192021
package 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

index.go

copy
1
student1.name = "Leo"

Portanto, é possível modificar o programa acima para armazenar alguns dados iniciais conforme necessário:

index.go

index.go

copy
123456789101112131415161718192021222324252627
package 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.

question mark

Qual símbolo usamos para acessar os membros / campos da struct:

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 6. Capítulo 3

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

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

bookDados 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

index.go

copy
123456789101112131415161718192021
package 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

index.go

copy
1
student1.name = "Leo"

Portanto, é possível modificar o programa acima para armazenar alguns dados iniciais conforme necessário:

index.go

index.go

copy
123456789101112131415161718192021222324252627
package 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.

question mark

Qual símbolo usamos para acessar os membros / campos da struct:

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 6. Capítulo 3
some-alt