Criando Structs
Até este ponto, trabalhamos com variáveis de diversos tipos de dados básicos, como int, float32, string, entre outros. No entanto, temos a capacidade de criar novos tipos de dados, que são essencialmente coleções de outros tipos de dados.
Structs, também conhecidas como estruturas, são essencialmente tipos de dados definidos pelo usuário. Portanto, uma struct também pode ser chamada de tipo de dado.
Na imagem acima, temos uma ilustração de uma estrutura chamada Person, que é composta por campos de diferentes tipos de dados, especificamente name, age e salary. Uma estrutura em si serve como um modelo que define quais dados serão armazenados em uma instância desse tipo. Podemos criar uma instância, basicamente uma variável, utilizando o tipo de dado Person e, em seguida, armazenar o nome, a idade e o salário de uma pessoa nela.
Da mesma forma, também podemos criar arrays utilizando o tipo de dado Person. Assim, structs são muito úteis quando queremos armazenar e acessar dados relacionados de forma organizada.
A seguinte sintaxe é utilizada para declarar uma struct no código:
type structName struct {
element_1 datatype
element_2 datatype
element_3 datatype
…
}
Nota
Os termos
typeestructsão palavras-chave em Golang.
Seguindo a sintaxe acima, podemos implementar o exemplo da struct Person, que foi discutido anteriormente:
A seguir, um exemplo um pouco mais complexo que também contém um array:
index.go
1234567type Student struct { name string age int id int course string grades [5]float32 }
No exemplo acima, há um campo chamado grades, que é um array de tamanho 5 e do tipo float32. Nos próximos capítulos, aprenderemos como armazenar, acessar e modificar dados de structs.
Também é possível referenciar outros structs (tipos de dados personalizados) dentro da definição de structs. Por exemplo, o struct Course inclui um campo chamado students, que é um slice do tipo Student:
index.go
1234type Course struct { name string students []Student }
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 1.96
Criando Structs
Deslize para mostrar o menu
Até este ponto, trabalhamos com variáveis de diversos tipos de dados básicos, como int, float32, string, entre outros. No entanto, temos a capacidade de criar novos tipos de dados, que são essencialmente coleções de outros tipos de dados.
Structs, também conhecidas como estruturas, são essencialmente tipos de dados definidos pelo usuário. Portanto, uma struct também pode ser chamada de tipo de dado.
Na imagem acima, temos uma ilustração de uma estrutura chamada Person, que é composta por campos de diferentes tipos de dados, especificamente name, age e salary. Uma estrutura em si serve como um modelo que define quais dados serão armazenados em uma instância desse tipo. Podemos criar uma instância, basicamente uma variável, utilizando o tipo de dado Person e, em seguida, armazenar o nome, a idade e o salário de uma pessoa nela.
Da mesma forma, também podemos criar arrays utilizando o tipo de dado Person. Assim, structs são muito úteis quando queremos armazenar e acessar dados relacionados de forma organizada.
A seguinte sintaxe é utilizada para declarar uma struct no código:
type structName struct {
element_1 datatype
element_2 datatype
element_3 datatype
…
}
Nota
Os termos
typeestructsão palavras-chave em Golang.
Seguindo a sintaxe acima, podemos implementar o exemplo da struct Person, que foi discutido anteriormente:
A seguir, um exemplo um pouco mais complexo que também contém um array:
index.go
1234567type Student struct { name string age int id int course string grades [5]float32 }
No exemplo acima, há um campo chamado grades, que é um array de tamanho 5 e do tipo float32. Nos próximos capítulos, aprenderemos como armazenar, acessar e modificar dados de structs.
Também é possível referenciar outros structs (tipos de dados personalizados) dentro da definição de structs. Por exemplo, o struct Course inclui um campo chamado students, que é um slice do tipo Student:
index.go
1234type Course struct { name string students []Student }
Obrigado pelo seu feedback!