Структуры и данные в Go

Опубликовано 2023.02.04

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

  1. type Person struct {
  2. Name string
  3. Age int
  4. Address string
  5. }

В этом примере Person — это структура с тремя полями: Name, Age и Address.

Чтобы создать экземпляр структуры, вы используете оператор := или ключевое слово var:

  1. p := Person{Name: "John Doe", Age: 30, Address: "123 Main St"}
  2. <code>
  3. <p>или</p>
  4. <code>
  5. var p Person
  6. p.Name = "John Doe"
  7. p.Age = 30
  8. p.Address = "123 Main St"

Вы также можете определить методы для структур, которые по сути являются функциями, прикрепленными к структуре и работающими с ее полями. Вот пример метода, который выводит имя человека:

  1. func (p Person) PrintName() {
  2. fmt.Println(p.Name)
  3. }

Метод PrintName присоединен к структуре Person и может вызываться для экземпляра Person с использованием записи через точку.

Этот метод можно вызвать для экземпляра структуры Person:

  1. p := Person{Name: "John Doe", Age: 30, Address: "123 Main St"}
  2. p.PrintName()