Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Melepasi Pemalar Rentetan Tidak Ditaip kepada Fungsi Menjangkakan Penunjuk Rentetan?

Bagaimana untuk Melepasi Pemalar Rentetan Tidak Ditaip kepada Fungsi Menjangkakan Penunjuk Rentetan?

Linda Hamilton
Lepaskan: 2024-11-02 16:00:29
asal
696 orang telah melayarinya

How to Pass an Untyped String Constant to a Function Expecting a String Pointer?

Ralat: Menukar Rentetan Tidak Ditaip kepada Penunjuk Rentetan

Melalukan pemalar rentetan yang tidak ditaip sebagai argumen kepada fungsi yang mengharapkan penuding rentetan menghasilkan ralat berikut:

cannot convert (untyped string constant) to *string [duplicate]
Salin selepas log masuk

Isu

Parameter StorageClassName dalam kod yang disediakan menjangkakan penuding kepada rentetan. Walau bagaimanapun, nilai "manual" yang disediakan ialah pemalar rentetan yang tidak ditaip.

Penyelesaian

Untuk menyelesaikan isu ini, anda tidak boleh meneruskan pemalar rentetan secara langsung sebagai hujah. Sebaliknya, anda mesti terlebih dahulu mengisytiharkan pembolehubah rentetan dan menetapkan pemalar rentetan kepadanya. Anda kemudiannya boleh menghantar alamat pembolehubah sebagai hujah penunjuk menggunakan & operator.

// Declare a string local and assign the constant string literal to it
manualStr := "manual"

// Pass the address of the local variable as the parameter argument
persistentvolumeclaim := &apiv1.PersistentVolumeClaim{

    ObjectMeta: metav1.ObjectMeta{
        Name: "mysql-pv-claim",
    },
    Spec: apiv1.PersistentVolumeClaimSpec{
        StorageClassName: &manualStr,
    },
}
Salin selepas log masuk

Dengan mengikuti pendekatan ini, anda boleh berjaya menghantar penuding rentetan yang diperlukan sebagai hujah kepada fungsi.

Atas ialah kandungan terperinci Bagaimana untuk Melepasi Pemalar Rentetan Tidak Ditaip kepada Fungsi Menjangkakan Penunjuk Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan