* bool в Голанге - PullRequest
       4

* bool в Голанге

0 голосов
/ 31 октября 2019

Работая над CRUD-операциями с Mongo, я наткнулся на следующий фрагмент кода. Параметр запроса поиска должен быть передан в FIND func.

Насколько я понимаю, это просто флаг. Как мы можем передать ему указатель , а также что он означает?

type FindOptions struct {
    AllowPartialResults *bool
}

Разрешил его с помощью функции ниже, но это не имеет никакого смысла.

options.FindOptions{
    AllowPartialResults: func() *bool {
        var a bool = true
        return &a
    }(),
}

1 Ответ

3 голосов
/ 31 октября 2019

Библиотека использует указатель на логическое значение, чтобы различать следующие три случая:

  • Опция не установлена ​​приложением (поле равно nil)
  • Опция установлена ​​в true с помощьюapplication (поле указатель на true)
  • Опция установлена ​​на false приложением (поле указатель на false).

Пакет mongo предоставляет вспомогательные функции и методы для инициализации параметров. Вот как использовать эти помощники для создания FindOptions, показанных в вопросе:

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