Maison  >  Article  >  développement back-end  >  Comment corriger l'erreur « Impossible de convertir (constante de chaîne non typée) en *chaîne » lors de la transmission de chaînes aux fonctions dans Go ?

Comment corriger l'erreur « Impossible de convertir (constante de chaîne non typée) en *chaîne » lors de la transmission de chaînes aux fonctions dans Go ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-30 12:36:27827parcourir

How to Fix

Passer des valeurs de chaîne aux paramètres de fonction

Le message d'erreur "Impossible de convertir (constante de chaîne non typée) en *chaîne [dupliquer]" indique un problème lorsque vous tentez de passer une constante de chaîne comme argument à une fonction qui attend un pointeur vers une chaîne.

Pour résoudre ce problème, vous devez stocker la constante de chaîne dans une variable, puis transmettre l'adresse de cette variable à la fonction. Voici comment modifier le code pour corriger l'erreur :

<code class="go">persistentvolumeclaim := &apiv1.PersistentVolumeClaim{
    ObjectMeta: metav1.ObjectMeta{
        Name: "mysql-pv-claim",
    },
    Spec: apiv1.PersistentVolumeClaimSpec{
        StorageClassName: func(str string) *string { return &str }("manual"),
        },
}</code>

Dans ce code, nous créons une fonction qui prend un paramètre de chaîne et renvoie un pointeur vers cette chaîne. Nous appelons ensuite cette fonction et passons la constante chaîne "manuel" comme argument. Le pointeur renvoyé est ensuite attribué au champ StorageClassName de l'objet apiv1.PersistentVolumeClaim.

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