Peut-on utiliser assert en Go ? Ou est-ce un mal, comme on le dit pour le C++ ?
Bonjour à tous ! Je suis débutant en Go, je viens du C++. Là-bas, j'utilisais souvent assert() pour vérifier les préconditions et les invariants — par exemple, que le pointeur n'est pas nil, que l'index est dans les limites du tableau, ou que l'état de l'objet est correct. Cela m'aidait beaucoup lors du débogage.\n\nJ'ai commencé à écrire en Go et j'ai remarqué qu'il n'y a pas de fonction assert dans la bibliothèque standard. Bien sûr, il y a le package testing, mais il est uniquement pour les tests. Dans le code de production, j'ai commencé à écrire mes propres vérifications comme :\n\n```go\nif somePtr == nil {\n panic("somePtr est nil, c'est un bug !")\n}\n```\n\nMais un collègue m'a dit que c'est un style horrible, et qu'en Go, il est d'usage de retourner des erreurs, pas de paniquer. Il a donné l'exemple du C++, où assert est souvent critiqué car il peut être désactivé par la macro NDEBUG, ce qui entraîne des bugs cachés.\n\nMaintenant, je suis confus. D'un côté, assert en C++