Übergabe von String-Werten an Funktionsparameter
Die Fehlermeldung „Kann nicht (untypisierte String-Konstante) in *String [Duplikat] konvertieren“ weist auf einen hin Problem beim Versuch, eine Zeichenfolgenkonstante als Argument an eine Funktion zu übergeben, die einen Zeiger auf eine Zeichenfolge erwartet.
Um dieses Problem zu beheben, müssen Sie die Zeichenfolgenkonstante in einer Variablen speichern und dann die Adresse dieser Variablen übergeben zur Funktion. So können Sie den Code ändern, um den Fehler zu beheben:
<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>
In diesem Code erstellen wir eine Funktion, die einen String-Parameter annimmt und einen Zeiger auf diesen String zurückgibt. Anschließend rufen wir diese Funktion auf und übergeben als Argument die String-Konstante „manual“. Der zurückgegebene Zeiger wird dann dem StorageClassName-Feld des apiv1.PersistentVolumeClaim-Objekts zugewiesen.
Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „Konvertierung (nicht typisierter String-Konstante) in *String nicht möglich' bei der Übergabe von Strings an Funktionen in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!