"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como o Learning Go Structs finalmente me fez amar a codificação

Como o Learning Go Structs finalmente me fez amar a codificação

Publicado em 2024-11-08
Navegar:486

"Ainda me lembro dos primeiros dias em que lutava com código.
How Learning Go Structs Finally Made Me Love Coding

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!

How Learning Go Structs Finally Made Me Love Coding

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”
How Learning Go Structs Finally Made Me Love Coding

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:

  1. Campos não inicializados: Go atribui automaticamente valores zero padrão (como 0 para inteiros ou "" para strings) aos campos se você não os inicializar.
  2. Usando ponteiros quando não são necessários: para estruturas pequenas, geralmente é mais eficiente passá-los por valor do que por referência.

A prática leva à perfeição!

  1. Fácil: crie uma estrutura de livro com os campos Título, Autor e Páginas. Escreva um método para exibir as informações do livro.
  2. Intermediário: crie uma estrutura de biblioteca que contenha várias estruturas de livro. Escreva métodos para adicionar um livro e listar todos os livros da biblioteca.
  3. Avançado: construa uma estrutura de veículo e gerencie uma frota de veículos usando uma estrutura de frota, completa com adição, remoção e pesquisa de veículos por ano.

Conclusão: principais conclusões

  1. Estruturas são essenciais para agrupar dados relacionados em Go.
  2. Você pode aprimorar estruturas com métodos e até mesmo estruturas aninhadas.
  3. Use ponteiros quando precisar modificar a estrutura original dentro de uma função.

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!

How Learning Go Structs Finally Made Me Love Coding

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/githaiga22/how-learning-go-structs-finally-made-me-love-coding-2pp0?1 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

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