«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как изучение структур Go наконец заставило меня полюбить программирование

Как изучение структур Go наконец заставило меня полюбить программирование

Опубликовано 8 ноября 2024 г.
Просматривать:468

"Я до сих пор помню те дни, когда я боролся с кодом.
How Learning Go Structs Finally Made Me Love Coding

Основные вещи? Я добирался туда. Но потом появились структуры, и все стало как в тумане. Я продолжал что-то ломать, и мой код был в беспорядке. Что я делал не так?
И только когда я сел, изучил основы структур Go и начал эффективно их использовать, все наконец получилось. Это был поворотный момент. Внезапно код стал более организованным, эффективным и чистым. Это изменило мой подход к программированию, и я начал получать удовольствие от кодирования, как никогда раньше».
Если вы находитесь в той же лодке и задаетесь вопросом, почему структуры настолько эффективны, этот пост для вас. Позвольте мне провести вас, чтобы развеять тайну о структурах и показать, как они могут изменить вашу игру в программировании!

How Learning Go Structs Finally Made Me Love Coding

Что такое структура?
В Go структура похожа на проект, который позволяет объединять данные разных типов. Думайте об этом как о специальной структуре данных для моделирования сложных объектов, таких как человек, автомобиль или книга.
Например, структура Person может содержать такие поля, как имя, возраст и пол человека, что идеально подходит для группировки связанной информации.
Зачем использовать структуры?
Структуры помогают организовать и объединить связанные данные, упрощая управление сложными моделями данных. Независимо от того, создаете ли вы приложение, отслеживающее пользователей, продукты или запасы, структуры позволяют группировать различные типы данных точно так же, как адрес содержит улицу, город и почтовый индекс.
Объявление структуры: основы
Синтаксис очень прост. Вы определяете структуру, используя тип ключевого слова, за которым следует имя структуры, а затем поля внутри фигурных скобок:



type Person struct {
    Name   string
    Age    int
    Gender string
}


Теперь у вас есть структура Person, содержащая три поля: Имя (строка), Возраст (int) и Пол (строка).

Доступ к полям структуры и их изменение

Для доступа к полям структуры просто используйте оператор точку (.):


fmt.Println("Name:", person.Name)
fmt.Println("Age:", person.Age)
fmt.Println("Gender:", person.Gender)



Изменяете поле? Легкий! Вы можете изменять значения так же, как и любую другую переменную:


person.Age = 26
fmt.Println("Updated Age:", person.Age)


Почему программисты не доверяют структурам?
Потому что не хотят заниматься своими "полями"
How Learning Go Structs Finally Made Me Love Coding

Структурные методы: добавление поведения

Здесь все становится еще интереснее. Вы можете присоединять методы к структурам, чтобы задать им поведение. Это все равно, что дать структуре возможность что-то делать!

Давайте определим метод Greet для структуры Person:


func (p Person) Greet() string {
    return "Hello, my name is "   p.Name
}



Теперь вы можете заставить человека поприветствовать вас:


fmt.Println(person.Greet())



Структуры с вложенными структурами: Делаем вещи сложными, но простыми

Структуры Go могут содержать внутри себя другие структуры, что полезно, когда вы хотите моделировать более сложные данные. Представьте себе структуру Student, которая включает структуру Address для полного профиля:


type Address struct {
    City  string
    State string
}

type Student struct {
    Name    string
    Age     int
    Address Address
}



Теперь вы можете создать ученика и получить доступ к вложенным полям следующим образом:


student := Student{
    Name: "Fred Gitonga",
    Age:  21,
    Address: Address{
        City:  "Kisumu",
        State: "Mamboleo",
    },
}

fmt.Println(student.Name, "lives in", student.Address.City)



«Программы должны быть написаны для того, чтобы их могли читать люди, и лишь вскользь — для того, чтобы их могли выполнять машины». — Гарольд Абельсон

Распространенные ошибки со структурами

Прежде чем приступать к использованию структур, остерегайтесь следующих распространенных ошибок:

  1. Неинициализированные поля: Go автоматически присваивает полям нулевые значения по умолчанию (например, 0 для целых чисел или «» для строк), если вы их не инициализируете.
  2. Использование указателей, когда они не нужны: для небольших структур зачастую эффективнее передавать их по значению, а не по ссылке.

Практика ведет к совершенству!

  1. Просто: создайте структуру книги с полями «Название», «Автор» и «Страницы». Напишите метод для отображения информации о книге.
  2. Средний уровень: создайте структуру Library, содержащую несколько структур Book. Напишите методы для добавления книги и получения списка всех книг в библиотеке.
  3. Расширенный уровень: создайте структуру транспортных средств и управляйте парком транспортных средств с помощью структуры Fleet, включая добавление, удаление и поиск транспортных средств по годам.

Вывод: основные выводы

  1. Структуры необходимы для группировки связанных данных в Go.
  2. Вы можете улучшить структуры с помощью методов и даже вложенных структур.
  3. Используйте указатели, когда вам нужно изменить исходную структуру внутри функции.

Если структуры Go могут облегчить мне программирование, они определенно сделают то же самое и для вас. Приятного кодирования!

How Learning Go Structs Finally Made Me Love Coding

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/githaiga22/how-learning-go-structs-finally-made-me-love-coding-2pp0?1 Если есть какие-либо нарушения, пожалуйста, свяжитесь с [email protected] удалить его
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3