Введение:

Go — это статически типизированный компилируемый язык программирования, предлагающий уникальный подход к объектно-ориентированному программированию. В отличие от таких языков, как C++ или Java, в Go нет традиционных классов. Вместо этого он использует структуры и методы для достижения аналогичной функциональности. В этом посте мы углубимся в фрагмент кода, написанный на Go, и шаг за шагом объясним, как он работает.

Объяснение кода:

Давайте разберем предоставленный фрагмент кода Go и разберемся в его различных компонентах.

type Person struct {
    Name    string
    Surname string
    Hobbies []string
    id      string
}

func (person *Person) GetFullName() string {
    return fmt.Sprintf("%s %s", person.Name, person.Surname)
}
func main() {
    p := Person{
        Name:    "Mario",
        Surname: "Castro",
        Hobbies: []string{"cycling", "electronics", "planes"},
        id:      "sa3-223-asd",
    }

    fmt.Printf("%s likes %s, %s and %s\n", p.GetFullName(), p.Hobbies[0],
        p.Hobbies[1], p.Hobbies[2])
}

Приведенный выше пример взят из книги: Паттерны дизайна Go.

Определение структуры человека:

Код начинается с объявления структуры с именем Person. Структура — это составной тип данных, который позволяет группировать значения разных типов. В этом случае структура Person имеет четыре поля:

Name (строка): представляет имя человека. Surname (строка): представляет фамилию человека. Hobbies ([]string): представляет список увлечений человека. Это фрагмент строк, позволяющий хранить несколько увлечений. id (строка): Представляет уникальный идентификатор человека.

Создание метода в структуре Person:

Затем мы определяем метод с именем GetFullName() в структуре Person. В Go метод связывается со структурой путем объявления метода с типом получателя. В этом случае тип получателя является указателем на структуру Person (*Person). Цель этого метода — объединить поля Name и Surname экземпляра Person и вернуть полное имя в виде строки.

Функция main():

Переходя к функции main(), мы видим следующие шаги:

Создание экземпляра Person: мы создаем новый экземпляр структуры Person с именем p, используя литерал структуры. Предоставляются значения для полей Name, Surname, Hobbies и id.

Вызов метода GetFullName(): Используя экземпляр p, мы вызываем метод GetFullName(), определенный в структуре Person. Это достигается с помощью записи через точку (p.GetFullName()).

Печать результата: Функция fmt.Printf() используется для печати форматированной строки. Строка включает полное имя, полученное из p.GetFullName(), и первые три увлечения из поля Hobbies.

Выход:

Конечным результатом работы программы является следующая строка: «Марио Кастро любит езду на велосипеде, электронику и самолеты». Это демонстрирует, что код успешно извлекает полное имя и печатает его вместе с увлечениями человека.

Заключение:

В заключение, Go предлагает альтернативный подход к объектно-ориентированному программированию, используя структуры и методы. Хотя в Go нет классов, как в других языках, он позволяет вам связывать методы со структурами, определяя тип получателя. Этот фрагмент кода демонстрирует использование структур и методов в Go, демонстрируя, как можно вызывать методы для экземпляров структуры для выполнения определенных операций. Понимая эти концепции, разработчики могут использовать уникальный подход Go для создания эффективного и лаконичного кода.

Ищете краткосрочные концерты, чтобы увеличить свой доход? Не смотрите дальше! Присоединяйтесь к Gig-платформе TopCoder уже сегодня! Будучи талантливым программистом или фрилансером, вы обладаете навыками, которые пользуются большим спросом. С TopCoder’s Gig вы можете найти интересные возможности для работы над короткими проектами и дополнительного заработка.

Если вы планируете поступить в Scaler Academy и хотите получить рекомендации и скидку на оплату, я могу помочь. Как действующий студент Scaler, я могу дать рекомендации. Пожалуйста, заполните форму по следующей ссылке для получения дополнительной информации: ФОРМА — Информация перед направлением в Scaler Academy

Вы увлечены развитием и хотите найти работу, которая использует ваши навыки? Проверьте Geektrust для ресурсов и возможностей в области разработки

Купи мне кофе

Первоначально опубликовано на https://programmercave.com.