Maison >développement back-end >Golang >Comment corriger l'erreur de paramètre PersistentVolumeClaimSpec.StorageClassName lors de l'utilisation de constantes de chaîne ?
Dépannage de l'erreur de paramètre PersistentVolumeClaimSpec.StorageClassName
Lors de la configuration d'un objet PersistentVolumeClaim, définition du paramètre StorageClassName sur une constante de chaîne ("manuel" dans le code fourni) génère une erreur. Cela se produit car les constantes de chaîne ne sont pas typées et ne peuvent pas être converties en pointeurs de chaîne *, comme l'exige le champ StorageClassName.
Solution : déclarez une variable locale et attribuez-lui la chaîne constante
La solution consiste à déclarer une variable locale de chaîne, à lui attribuer le littéral de chaîne constante, puis à transmettre l'adresse de cette variable locale comme argument de paramètre à l'aide de l'opérateur &. Voici comment modifier le code :
<code class="go">persistentvolumeclaim := &apiv1.PersistentVolumeClaim{ ObjectMeta: metav1.ObjectMeta{ Name: "mysql-pv-claim", }, Spec: apiv1.PersistentVolumeClaimSpec{ StorageClassName: func() *string { manualStr := "manual" return &manualStr }(), }, }</code>
Dans ce code révisé, la variable locale de chaîne manualStr est initialisée avec la constante de chaîne "manuelle". L'opérateur & est utilisé pour renvoyer l'adresse de manualStr sous forme de pointeur *string, qui peut ensuite être attribué au champ StorageClassName.
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!