Преимущества использования указателей во вложенных структурах в golang - PullRequest
0 голосов
/ 28 июня 2018

Я искал во многих, многих местах, и я не мог найти удовлетворительного ответа на мой вопрос: В чем преимущество использования указателей на вложенные структуры в Go?

В настоящее время я полностью новичок в Go, я начал читать книгу «Язык программирования Go», и я делаю там все упражнения, чтобы убедиться, что я понимаю синтаксис и вариант использования. До сих пор. Целью одной из задач было создание очень простого клиента GitHub, который извлекает список проблем, отфильтрованных по заданным параметрам. Это пример, показывающий, как использовать json unmarshalling . Итак, есть несколько вложенных структур:

type SearchIssueResult {
    TotalCount int
    Issues []*Issue
}

type Issue {
    Title string
    Author *User
    // ... other properties
}

И вот снова мой вопрос: Почему у этих вложенных структур есть тип указателей на структуры? Я могу использовать только тип структуры, и он работает также (с небольшими изменениями в использовании экземпляра структуры), но я бы хотел нравится понимать, когда использовать разные подходы.

Спасибо!

1 Ответ

0 голосов
/ 28 июня 2018

Это зависит от того, насколько сложна ваша структура. Я бы предложил использовать указатели каждый раз, когда вы ссылаетесь на структуру. Вот некоторые преимущества этого подхода:

  1. Указанный объект может жить дольше, чем ваша структура.
  2. Копировать указатель быстрее, чем копию (сложной) структуры.

Для некоторых основных типов, таких как: int, float, string, может быть быстрее передать его при копировании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...