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 ?
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!