ホームページ  >  記事  >  バックエンド開発  >  Go で関数に文字列を渡すときの「(型なし文字列定数) を *string に変換できません」エラーを修正する方法

Go で関数に文字列を渡すときの「(型なし文字列定数) を *string に変換できません」エラーを修正する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-10-30 12:36:27832ブラウズ

How to Fix

文字列値を関数パラメータに渡す

エラー メッセージ「(型なし文字列定数) を *string [重複] に変換できません」は、文字列へのポインタを期待する関数に文字列定数を引数として渡そうとするときに発生する問題。

これを解決するには、文字列定数を変数に格納し、その変数のアドレスを渡す必要があります。機能に。コードを変更してエラーを修正する方法は次のとおりです。

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

このコードでは、文字列パラメータを受け取り、その文字列へのポインタを返す関数を作成します。次に、この関数を呼び出し、文字列定数「manual」を引数として渡します。返されたポインターは、apiv1.PersistentVolumeClaim オブジェクトの StorageClassName フィールドに割り当てられます。

以上がGo で関数に文字列を渡すときの「(型なし文字列定数) を *string に変換できません」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。