Retour à la leçon
Mission

Mission : une erreur qui n'est jamais nil, même quand elle devrait l'être

Sécuriser une type assertion qui panique en production, puis comprendre pourquoi une interface peut sembler non-nil alors qu'elle semble vide.

Contexte

Le service de facturation utilise une fonction traiter(f Forme) qui fait rect := f.(Rectangle) sans vérifier le second retour, en supposant que seules des Rectangle seront passées. Depuis qu'un Cercle a été ajouté au catalogue, le service plante en production avec un panic à chaque commande impliquant un cercle.