I Go
creatori della lingua scrivono :
Go non fornisce affermazioni. Sono innegabilmente convenienti, ma la nostra esperienza è stata che i programmatori li usano come stampella per evitare di pensare a una corretta gestione e segnalazione degli errori. La corretta gestione degli errori significa che i server continuano a funzionare dopo errori non fatali invece di arresti anomali. La corretta segnalazione degli errori significa che gli errori sono diretti e diretti, salvando il programmatore dall'interpretazione di una traccia di crash di grandi dimensioni. Gli errori precisi sono particolarmente importanti quando il programmatore che vede gli errori non ha familiarità con il codice.
Qual é la tua opinione riguardo questo?
reflect.DeepEqual
, sicuramente non ne hai bisogno . È conveniente, ma a scapito delle prestazioni (i test unitari sono un buon caso d'uso). Altrimenti, puoi implementare qualunque controllo di uguaglianza sia appropriato per la tua "raccolta" senza troppi problemi.
for
loop in Go (proprio come C). E sarebbe davvero bello avere operazioni fetta generici, anche se il confronto si complica quando i puntatori e le strutture sono coinvolti.