L'éditeur de PHP, Strawberry, vous présentera aujourd'hui une technique de programmation courante : "vérifier zéro puis attribuer une valeur à partir de la structure". Lors de l'écriture de code, nous rencontrons souvent des situations où nous devons obtenir la valeur d'un certain champ à partir d'une structure. Cependant, en raison de la possibilité de valeurs nulles, prendre directement la valeur peut provoquer le blocage du programme. Afin de résoudre ce problème, nous devons effectuer une vérification nulle avant de prendre la valeur afin de garantir la stabilité du programme. Cet article présentera en détail la mise en œuvre spécifique de cette technique pour aider les lecteurs à mieux la comprendre et l'appliquer dans le développement réel.
J'ai une structure qui contient des éléments tels que la structure.
Supposons que ma distribution soit la suivante :
validfrom := dkdm.authenticatedpublic.requiredextensions.kdmrequiredextensions.contentkeysnotvalidbefore
Ces données sont dynamiques et tout élément à tout moment peut être nul en raison d'une erreur d'analyse ou de l'absence de données.
Par exemple, kdmrequiredextensions
可以为 nil,当我尝试访问 contentkeysnotvalidbefore
cela générera une erreur de référence de pointeur nulle.
Est-il possible d'avoir une méthode qui prend des éléments et vérifie la chaîne de valeurs un par un, en ne retournant que si aucun élément n'est nul.
validfrom := checkandassign(dkdm.authenticatedpublic.requiredextensions.kdmrequiredextensions.contentkeysnotvalidbefore)
J'ai essayé une instruction if avant le devoir, mais j'espérais une manière plus propre.
if dkdm.AuthenticatedPublic.RequiredExtensions != nil && dkdm.AuthenticatedPublic.RequiredExtensions.KDMRequiredExtension != nil { validFrom = dkdm.AuthenticatedPublic.RequiredExtensions.KDMRequiredExtensions.ContentKeysNotValidBefore }
Est-il possible d'avoir un moyen qui accepte les éléments et vérifie la chaîne de valeurs un par un, en ne revenant que si aucun élément n'est nul.
Non, il n'existe pas de syntaxe ou d'outils de ce type.
J'ai essayé une instruction if avant le devoir, mais j'espérais une manière plus propre.
if
les déclarations sont la manière « propre ». Vous pouvez le raccourcir en introduisant une nouvelle variable comme
if re := dkdm.AuthenticatedPublic.RequiredExtensions; re != nil && re.KDMRequiredExtension != nil { .... }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!