Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menilai Formula dalam Go Menggunakan Pakej `govaluate`?

Bagaimana untuk Menilai Formula dalam Go Menggunakan Pakej `govaluate`?

Barbara Streisand
Barbara Streisandasal
2024-11-09 15:25:02230semak imbas

How to Evaluate Formulas in Go Using the `govaluate` Package?

Menilai Formula dalam Go

Dalam Python, modul parser menawarkan cara yang mudah untuk menilai formula menggunakan nilai yang telah ditetapkan. Contoh kod menggunakan modul ini disediakan di bawah:

x = 8
code = parser.expr("(x + 2) / 10").compile()
print eval(code)
# prints 1

Untuk mencapai kefungsian serupa dalam Go, pakej govaluate ialah pilihan yang boleh dipercayai. Ia membolehkan penilaian formula kompleks yang melibatkan nilai angka, pengendali dan fungsi.

Penggunaan govaluate adalah mudah. Coretan kod di bawah menunjukkan penggunaannya:

expression, err := govaluate.NewEvaluableExpression("(x + 2) / 10")

parameters := make(map[string]interface{}, 8)
parameters["x"] = 8

result, err := expression.Evaluate(parameters)

Dalam contoh ini, formula yang akan dinilai diwakili sebagai rentetan. Fungsi NewEvaluableExpression menyusun formula ke dalam perwakilan dalaman untuk penilaian yang cekap.

Seterusnya, peta nilai parameter ditentukan. Kekunci peta mewakili nama pembolehubah yang digunakan dalam formula, manakala nilainya ialah nilai angka yang sepadan.

Akhir sekali, fungsi Evaluate dipanggil untuk mengira hasil formula menggunakan nilai parameter yang disediakan. Hasil yang diperoleh ialah nilai float64.

Pakej govaluate menyediakan cara yang mantap dan cekap untuk menilai formula dalam Go, menjadikannya alat yang berharga untuk pengkomputeran saintifik, analisis data dan aplikasi lain yang memerlukan penilaian formula.

Atas ialah kandungan terperinci Bagaimana untuk Menilai Formula dalam Go Menggunakan Pakej `govaluate`?. 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