Dalam JavaScript, kaedah eval() membolehkan penilaian dan pelaksanaan kod atau ungkapan dengan cepat. Ciri ini memberikan fleksibiliti dalam pelaksanaan kod dinamik.
Adakah terdapat fungsi setara dalam Go yang membenarkan penilaian dinamik sedemikian? Jawapannya ya, walaupun dengan beberapa pengehadan.
Keupayaan seperti eval Go terletak pada Pustaka Penilaian Ekspresinya. Ia menyediakan satu set pakej dan antara muka untuk menilai ungkapan yang dimasukkan sebagai rentetan. Walau bagaimanapun, tidak seperti eval() JavaScript, penilai ekspresi Go terhad kepada ungkapan dan bukannya kod sembarangan.
Untuk menggunakan fungsi ini, anda boleh meneroka sumber berikut:
Untuk menilai ungkapan , anda mesti mencipta objek Pakej dan Skop, masukkan pemalar ke dalam skop pakej dan gunakan jenis.NewConst untuk mencipta pemalar dengan maklumat jenis yang sesuai.
Sebagai contoh, untuk mengira x * y dalam Go, anda akan membuat pakej, xp, dengan Pemalar pembolehubah yang mengandungi ungkapan x * y. Anschließend bolehkah pemalar ini dinilai melalui Perpustakaan Penilaian Ekspresi untuk mendapatkan hasilnya.
Atas ialah kandungan terperinci Bolehkah Pergi Menilai Kod Seperti JavaScript's eval()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!