Метод самой структуры в Go - PullRequest
0 голосов
/ 23 апреля 2020

Я заметил, что в библиотеке Gorm ORM вы можете определить имя пользовательской таблицы, используя следующую структуру:

type DeviceStatus struct {
  // Define some Gorm model fields here
}

// TableName custumizes DeviceStatus SQL table name
func (DeviceStatus) TableName() string {
    return "CustomDeviceStatusTableName"
}

Как называется эта конструкция? Я пытаюсь найти это с помощью Google и выяснить, как выполнить вызов функции.

Ответы [ 2 ]

1 голос
/ 23 апреля 2020

Вы реализуете интерфейс tabler. Он содержит только один метод:

type tabler interface {
    TableName() string
}

Подробнее о Типы интерфейсов в спецификации.

0 голосов
/ 23 апреля 2020

верно, он реализует интерфейс, и gorm получит имя таблицы из метода TableName () и имя структуры вместо, если TableName () пусто.

...