Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah saya boleh mengakses pembolehubah dari skop luar dalam pernyataan 'dengan' atau 'julat' bersarang dalam templat Go?
Mengakses Skop Luar dalam Skop "dengan" atau "julat" Bersarang dalam Templat Go
Templat In Go, penggunaan "dengan" atau pernyataan "julat" mencipta skop baharu, mengubah konteks skop semasa. Ini boleh membawa kepada situasi di mana akses kepada pembolehubah yang ditakrifkan dalam skop luar menjadi perlu.
Menggunakan $. OuterValue
Untuk mengekalkan akses kepada skop panggilan dalam skop "dengan" atau "julat" bersarang, pembolehubah yang ditakrifkan khas dipanggil "$" digunakan. Pembolehubah ini disediakan oleh enjin templat Go dan menghalakan kembali ke nilai data yang telah dihantar ke fungsi Laksanakan, yang mewakili nilai titik awal (.).
Contoh Penggunaan
Pertimbangkan kod templat berikut:
{{with .Inner}} Outer: {{$.OuterValue}} Inner: {{.InnerValue}} {{end}}
Dalam contoh ini, pernyataan "dengan" mentakrifkan skop baharu untuk pembolehubah "Dalam". Walau bagaimanapun, dalam skop ini, mengakses "OuterValue" yang ditakrifkan dalam skop luar boleh dicapai menggunakan "$.OuterValue."
Dokumentasi $
Templat Go dokumentasi secara eksplisit menerangkan peranan "$" seperti berikut:
"Apabila pelaksanaan bermula, $ ditetapkan kepada argumen data yang diserahkan kepada Laksanakan, iaitu, kepada nilai permulaan titik."
Penjelasan ini mengesahkan bahawa "$" mengekalkan rujukan kepada data asal yang dihantar kepada templat, membenarkan akses kepada pembolehubah skop asal.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mengakses pembolehubah dari skop luar dalam pernyataan 'dengan' atau 'julat' bersarang dalam templat Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!