Mencipta Pembolehubah Global dan Mengubah Suainya dalam Berbilang Lokasi dalam html/template Go
Dalam pakej html/template Go, mentakrifkan pembolehubah dalamnya skop mengasingkannya dengan berkesan ke kawasan tertentu itu. Dalam contoh yang diberikan, pembolehubah $currentUserId bertujuan untuk menyimpan nilai yang akan kekal sepanjang templat, tetapi skopnya terhad kepada syarat if.
Mengubah Suai Pembolehubah Templat
Go 1.11 memperkenalkan keupayaan untuk mengubah suai pembolehubah templat. Menggunakan := mentakrifkan pembolehubah, manakala = memberikan nilai baharu. Pembolehubah boleh dibuat secara global boleh diakses jika ia ditakrifkan di luar syarat if dan nilainya diubah suai di dalamnya.
{{$currentUserId := 0}} {{if .UserData}} {{$currentUserId = .UserData.UserId}} [<a href="#ask_question">Inside {{$currentUserId}}</a>] {{else}} [No User Data] {{end}} [<a href="#ask_question">outside {{$currentUserId}}</a>]
Ini memastikan perubahan yang dibuat dalam blok {{if}} dicerminkan selepas tamat blok .
Alternatif Pendekatan
Kesimpulan
Walaupun pakej templat Go cemerlang dalam kesederhanaan, ia mempunyai had untuk logik yang kompleks. Walau bagaimanapun, dengan menggunakan tugasan dan fungsi tersuai, anda boleh memanipulasi nilai dengan berkesan merentas berbilang lokasi dalam templat anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta dan Mengubah Suai Pembolehubah Global dalam Pakej html/template Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!