Создатели Go
языка пишут :
Go не дает утверждений. Они, несомненно, удобны, но наш опыт показывает, что программисты используют их как опору, чтобы не думать о правильной обработке ошибок и составлении отчетов. Правильная обработка ошибок означает, что серверы продолжают работу после нефатальных ошибок вместо сбоев. Правильный отчет об ошибках означает, что ошибки являются прямыми и точными, спасая программиста от интерпретации большого следа сбоя. Точные ошибки особенно важны, когда программист, видящий ошибки, не знаком с кодом.
Что вы думаете об этом?
reflect.DeepEqual
, вам это точно не нужно . Это удобно, но за счет производительности (юнит-тесты - хороший пример использования). В противном случае вы можете реализовать любую проверку на равенство, подходящую для вашей «коллекции», без особых проблем.
for
цикл в Go (как в C). Было бы неплохо иметь общие операции срезов, хотя сравнение усложняется, когда задействованы указатели и структуры.