Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Mengakses Pembolehubah Tahap Pakej atau Malar Apabila Dibayangkan dalam Go?

Bagaimana untuk Mengakses Pembolehubah Tahap Pakej atau Malar Apabila Dibayangkan dalam Go?

Barbara Streisand
Lepaskan: 2024-11-22 11:40:11
asal
917 orang telah melayarinya

How to Access Package-Level or Constant Variables When Shadowed in Go?

Merujuk Pemalar dan Pembolehubah Tahap Pakej Daripada Pembolehubah Tahap Fungsi

Dalam Go, adalah perkara biasa untuk menggunakan bayang-bayang untuk mengisytiharkan pembolehubah atau pemalar dengan nama yang sama dalam skop yang berbeza. Walaupun ini berguna, ada kalanya anda perlu merujuk kepada pembolehubah tahap pemalar atau pakej asal dan bukannya pembolehubah peringkat fungsi.

Malangnya, dalam Go, tidak mungkin merujuk terus kepada pembolehubah pemalar atau peringkat pakej apabila pembolehubah tempatan dengan nama yang sama wujud. Ini disebabkan oleh konsep skop dan keutamaan pengkompil Go untuk pembolehubah tempatan berbanding pengisytiharan peringkat lebih tinggi.

Untuk mengakses pembolehubah peringkat pemalar atau pakej asal, anda perlu menggunakan teknik alternatif. Satu pendekatan adalah untuk menyimpan nilai dalam pembolehubah sementara sebelum menetapkan semula pembolehubah tempatan:

cname := name
name = "Jobs"
fmt.Println(name) // Prints "Jobs"
fmt.Println(cname) // Prints "Yosua"
Salin selepas log masuk

Pilihan lain ialah mencipta fungsi yang menyediakan akses kepada pembolehubah peringkat pemalar atau pakej:

func getName() string {
    return name
}

name = "Jobs"
fmt.Println(name) // Prints "Jobs"
fmt.Println(getName()) // Prints "Yosua"
Salin selepas log masuk

Dengan menggunakan teknik ini, anda boleh mengakses kedua-dua pembolehubah tempatan dan pemalar asal atau pembolehubah peringkat pakej secara serentak. Walau bagaimanapun, perlu diingat bahawa penyelesaian ini mungkin tidak selalu menjadi penyelesaian yang paling elegan atau cekap dan pertimbangan yang teliti harus diberikan untuk mengelakkan konflik penamaan dalam kod anda.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Pembolehubah Tahap Pakej atau Malar Apabila Dibayangkan dalam Go?. 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