Heim > Artikel > Backend-Entwicklung > Wie behebe ich den Parameterfehler „PersistentVolumeClaimSpec.StorageClassName“ bei der Verwendung von String-Konstanten?
Fehlerbehebung beim Parameterfehler „PersistentVolumeClaimSpec.StorageClassName“
Beim Konfigurieren eines PersistentVolumeClaim-Objekts wird der Parameter „StorageClassName“ auf eine Zeichenfolgenkonstante festgelegt („manuell“ im bereitgestellter Code) löst einen Fehler aus. Dies liegt daran, dass Zeichenfolgenkonstanten untypisiert sind und nicht in *Zeichenfolgenzeiger konvertiert werden können, wie es das Feld „StorageClassName“ erfordert.
Lösung: Deklarieren Sie eine lokale Variable und weisen Sie ihr die konstante Zeichenfolge zu
Die Lösung besteht darin, eine lokale Zeichenfolgenvariable zu deklarieren, ihr das konstante Zeichenfolgenliteral zuzuweisen und dann die Adresse dieser lokalen Variable als Parameterargument mit dem &-Operator zu übergeben. So ändern Sie den 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>
In diesem überarbeiteten Code wird die lokale String-Variable „manualStr“ mit der String-Konstante „manual“ initialisiert. Mit dem &-Operator wird die Adresse von „manualStr“ als *String-Zeiger zurückgegeben, der dann dem Feld „StorageClassName“ zugewiesen werden kann.
Das obige ist der detaillierte Inhalt vonWie behebe ich den Parameterfehler „PersistentVolumeClaimSpec.StorageClassName“ bei der Verwendung von String-Konstanten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!