Язык Go не имеет классов в традиционном смысле объектно-ориентированного программирования. Вместо этого Go использует структуры и методы для достижения аналогичной функциональности. Вот пример того, как определить структуру и метод в Go:
type Person struct { Name string Age int Address string }
В этом примере Person — это структура с тремя полями: Name, Age и Address.
Чтобы создать экземпляр структуры, вы используете оператор := или ключевое слово var:
p := Person{Name: "John Doe", Age: 30, Address: "123 Main St"} <code> <p>или</p> <code> var p Person p.Name = "John Doe" p.Age = 30 p.Address = "123 Main St"
Вы также можете определить методы для структур, которые по сути являются функциями, прикрепленными к структуре и работающими с ее полями. Вот пример метода, который выводит имя человека:
func (p Person) PrintName() { fmt.Println(p.Name) }
Метод PrintName присоединен к структуре Person и может вызываться для экземпляра Person с использованием записи через точку.
Этот метод можно вызвать для экземпляра структуры Person:
p := Person{Name: "John Doe", Age: 30, Address: "123 Main St"} p.PrintName()