Псевдоним типа против определения типа в Go - PullRequest
0 голосов
/ 28 января 2019

Я наткнулся на этот псевдоним типа в коде:

type LightSource = struct {
  R, G, B, L float32
  X, Y, Z, A float32
  //...
}

Мой вопрос : что может быть причиной для использования псевдонима типа для определения structвместо того, чтобы делать это?

type LightSource struct {
  R, G, B, L float32
  //...etc
}

1 Ответ

0 голосов
/ 28 января 2019

В этом случае я предполагаю, что это было сделано по ошибке - первая альтернатива определяет тип «анонимно», а затем присваивает ему псевдоним, поэтому конечный результат одинаков в обоих случаях, но все же вторая альтернатива является единственнойправильный.

Псевдонимы типов полезны только в нескольких случаях, например, как написано здесь , они могут быть полезны для масштабного рефакторинга.

...