Maison >développement back-end >Golang >Comment corriger l'erreur de paramètre PersistentVolumeClaimSpec.StorageClassName lors de l'utilisation de constantes de chaîne ?

Comment corriger l'erreur de paramètre PersistentVolumeClaimSpec.StorageClassName lors de l'utilisation de constantes de chaîne ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-02 10:14:02793parcourir

How to Fix the PersistentVolumeClaimSpec.StorageClassName Parameter Error When Using String Constants?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn