"Ainda me lembro dos primeiros dias em que lutava com código.
As coisas básicas? Eu estava chegando lá. Mas então vieram as estruturas e tudo parecia um borrão. Continuei quebrando coisas e meu código estava uma bagunça. O que eu estava fazendo de errado?
Só quando me sentei, aprendi o básico das estruturas Go e comecei a usá-las de maneira eficaz é que as coisas finalmente deram certo. Esse foi o ponto de viragem. De repente, o código tornou-se mais organizado, eficiente e limpo. Isso transformou a forma como eu abordava a programação e comecei a gostar de programar como nunca antes."
Se você está no mesmo barco – se perguntando por que as estruturas são tão poderosas – este post é para você. Deixe-me guiá-lo por uma jornada para desmistificar estruturas e mostrar como elas podem mudar seu jogo de codificação!
O que é uma estrutura?
No Go, uma estrutura é como um projeto que permite agrupar dados de diferentes tipos. Pense nisso como uma estrutura de dados personalizada para modelar entidades complexas como Pessoa, Carro ou Livro.
Por exemplo, uma estrutura Person pode conter campos como nome, idade e sexo de uma pessoa – perfeito para agrupar informações relacionadas.
Por que usar estruturas?
As estruturas ajudam você a organizar e agrupar dados relacionados, facilitando o gerenciamento de modelos de dados complexos. Esteja você criando um aplicativo que rastreia usuários, produtos ou inventário, as estruturas permitem agrupar diferentes tipos de dados, assim como um endereço contém uma rua, cidade e CEP.
Declarando uma estrutura: o básico
A sintaxe é super simples. Você define uma estrutura com o tipo de palavra-chave, seguido pelo nome da estrutura e, em seguida, os campos entre chaves:
type Person struct { Name string Age int Gender string }
Agora você tem uma estrutura Person que contém três campos: Nome (string), Idade (int) e Gênero (string).
Acessando e modificando campos estruturais
Para acessar os campos de uma struct, basta usar o operador ponto (.):
fmt.Println("Name:", person.Name) fmt.Println("Age:", person.Age) fmt.Println("Gender:", person.Gender)
Alterando um campo? Fácil! Você pode modificar os valores como faria com qualquer outra variável:
person.Age = 26 fmt.Println("Updated Age:", person.Age)
Por que os programadores não confiam nas estruturas?
Porque eles não querem lidar com seus “campos”
Métodos de estrutura: adicionando comportamento
É aqui que as coisas ficam ainda mais interessantes. Você pode anexar métodos a estruturas para fornecer comportamento a elas. É como dar a uma estrutura a capacidade de fazer coisas!
Vamos definir um método Greet para a estrutura Person:
func (p Person) Greet() string { return "Hello, my name is " p.Name }
Agora você pode fazer a pessoa cumprimentá-lo:
fmt.Println(person.Greet())
Estruturas com estruturas aninhadas: Tornando as coisas complexas, mas simples
As estruturas Go podem conter outras estruturas dentro delas, o que é útil quando você deseja modelar dados mais complexos. Imagine uma estrutura Student que inclui uma estrutura Address para um perfil completo:
type Address struct { City string State string } type Student struct { Name string Age int Address Address }
Agora você pode criar um Aluno e acessar campos aninhados como este:
student := Student{ Name: "Fred Gitonga", Age: 21, Address: Address{ City: "Kisumu", State: "Mamboleo", }, } fmt.Println(student.Name, "lives in", student.Address.City)
"Os programas devem ser escritos para as pessoas lerem e apenas incidentalmente para as máquinas executarem." -Harold Abelson
Erros comuns com estruturas
Antes de começar a usar estruturas, tome cuidado com estas armadilhas comuns:
A prática leva à perfeição!
Conclusão: principais conclusões
Se as estruturas Go podem tornar a codificação mais fácil para mim, elas definitivamente farão o mesmo por você. Boa codificação!
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3