Найти тему

045 Структуры и методы

Методы - это функции, связанные с определенным типом struct или другим типом, определяемым пользователем. Они могут быть использованы для выполнения операций над полями структуры или для изменения ее поведения каким-либо образом.

В Go методы определяются с помощью следующего синтаксиса:

func (s *MyStruct) MyMethod(arg1 type1, arg2 type2) returnType {
// method implementation
}

Здесь MyStruct - это имя типа struct, с которым связан метод, а MyMethod - имя метода. arg1, arg2 и т.д. - это аргументы, которые принимает метод, а returnType - это тип значения, которое возвращает метод.

Методы могут быть определены для любого пользовательского типа, включая структуры, интерфейсы и даже базовые типы, такие как int или string. Они могут использоваться для выполнения широкого спектра операций, от простых вычислений до сложных преобразований данных.

Вот простой пример, демонстрирующий, как определить структуру и метод в Go. Посчитаем площадь прямоугольного треугольника:

Go Playground - The Go Programming Language

В этом примере мы определяем структуру Rectangle, которая имеет поля ширины и высоты. Затем мы определяем метод Area, для структуры Rectangle, который вычисляет площадь прямоугольника. Создаем новый объект Rectangle и вызываем его метод Area для вычисления площади.