Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengakses Pembolehubah Tahap Pakej Apabila Pembolehubah Tahap Fungsi dengan Nama Yang Sama Wujud dalam Go?

Bagaimana untuk Mengakses Pembolehubah Tahap Pakej Apabila Pembolehubah Tahap Fungsi dengan Nama Yang Sama Wujud dalam Go?

Patricia Arquette
Patricia Arquetteasal
2024-11-16 22:19:03334semak imbas

How to Access Package-Level Variables When a Function-Level Variable with the Same Name Exists in Go?

Mengakses Pembolehubah Tahap Malar atau Pakej Daripada Pembolehubah Tahap Fungsi

Dalam Go, adalah perkara biasa untuk mengisytiharkan pemalar atau pembolehubah pada pakej tahap, menjadikannya boleh diakses sepanjang pakej. Walau bagaimanapun, apabila pembolehubah turut diisytiharkan pada peringkat fungsi, ia mengambil keutamaan berbanding pembolehubah peringkat pakej dalam skop fungsi.

Bagaimanakah kita boleh merujuk kepada pembolehubah peringkat pemalar atau pakej dan bukannya fungsi- pembolehubah tahap dalam kes sedemikian?

Penjelasan

Malangnya, tiada cara mudah untuk merujuk kepada pembolehubah peringkat pakej apabila pembolehubah peringkat fungsi dengan nama yang sama hadir. Menurut spesifikasi Go, sebarang pengecam yang diisytiharkan dalam blok, termasuk fungsi, diutamakan daripada pengecam yang diisytiharkan pada tahap pakej dalam skop blok tersebut.

Penyelesaian

Untuk mengakses kedua-dua pembolehubah peringkat pakej dan peringkat fungsi secara serentak, pertimbangkan penyelesaian berikut:

1. Gunakan Nama Berbeza

Jika boleh, gunakan nama berbeza untuk pembolehubah peringkat fungsi dan peringkat pakej untuk mengelakkan konflik. Ini membolehkan anda mengakses kedua-dua pembolehubah secara bebas.

2. Simpan Salinan Pembolehubah Tahap Pakej

Sebelum memberikan nilai kepada pembolehubah peringkat fungsi, simpan salinan pembolehubah peringkat pakej dalam pembolehubah baharu dengan nama yang berbeza. Dengan cara ini, anda boleh merujuk kepada pembolehubah peringkat pakej walaupun dalam skop fungsi.

3. Cipta Fungsi

Pendekatan lain ialah mencipta fungsi yang mengembalikan nilai pembolehubah peringkat pakej. Ini membolehkan anda mengakses pembolehubah peringkat pakej dengan memanggil fungsi dalam skop pembolehubah peringkat fungsi.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Pembolehubah Tahap Pakej Apabila Pembolehubah Tahap Fungsi dengan Nama Yang Sama Wujud dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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