«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как правильно различить нерешенные и нулевые значения в Go?

Как правильно различить нерешенные и нулевые значения в Go?

Опубликовано в 2025-04-19
Просматривать:967

] How to Distinguish Properly Between Not Set vs. Empty Values in Go?

правильно отличающееся между не установленными по сравнению с пустыми значениями

. Когда работают с структурой в Go, это может иметь решающее значение между значениями, которые никогда не были установлены, и теми, которые просто пусты, такие как пустые строки. Категория строка Кодовая строка Название строки }

, чтобы различать категории, которые никогда не были установлены, и теми, которые являются пустыми, один подход может заключаться в том, чтобы использовать указатели на строки:

type Organisation struct {
    Category string
    Code     string
    Name     string
}

, однако, нулевое значение для строки в GO является пустой строкой, то есть невозможно различить два случая. Для этой цели пакет базы данных/SQL предлагает тип sql.nullstring:

type Organisation struct {
    Category *string
    Code     *string
    Name     *string
}

путем сканирования в этот тип и используя его в качестве параметра запроса, пакет базы данных/SQL управляет нулевым состоянием для вас, эффективно различая между Unset и пустыми значениями.

]
Заявление о выпуске Эта статья воспроизведена: 1729738861, если есть какие -либо нарушения, пожалуйста, свяжитесь с учебным заведением[email protected], чтобы удалить его.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3