Editor PHP Xigua berada di sini untuk memperkenalkan kepada anda isu tentang jenis nilai pulangan fungsi Eval dalam perpustakaan go-redis. Apabila menggunakan skrip Lua untuk melaksanakan fungsi Eval, kadangkala skrip mengembalikan tatasusunan. Jadi dalam perpustakaan go-redis, apakah jenis nilai pulangan ini? Mari jawab soalan ini secara terperinci di bawah.
Apabila skrip lua mengembalikan tatasusunan jadual semasa panggilan eval, bagaimana cara saya menukarnya kepada rentetan [] semasa?
redis cli mengembalikan balasan kumpulan dalam format berikut.
1) val1 2) val2
go-redis eval akan mengembalikan kumpulan penyertaan sebagai
["val1", "val2"]
redis mengembalikan tatasusunan jadual lua sebagai tatasusunan resp2. Pelanggan go kemudiannya akan memetakan respons itu kepada jenis asli pergi. go-redis
Dokumentasi yang berkaitan boleh didapati di sini: lua and go type.
Ringkasnya, jadual lua memetakan kepada balasan pukal, manakala pelanggan pergi memetakannya kepada serpihan antara muka: []interface{}
.
go-redis
脚本 run
和 eval
都返回 *cmd
。您可以使用此类型的方法来检索 go 类型的输出。 result
给出 (interface{}, error)
,您可以键入断言任何您想要的内容,否则 stringslice
是一个方便的 getter,可以立即检索 []string
Kedua-dua skrip run
dan eval
mengembalikan *cmd
. Anda boleh menggunakan kaedah jenis ini untuk mendapatkan keluaran jenis go. hasil
Diberi stringslice
[]string
dengan serta-merta. Jadi ia kelihatan seperti:
script := redis.NewScript(` local foo = {"val1", "val2"} return foo `) cmd := script.Run(/* parameters */) i, err := cmd.Result() // (interface, error) // or ss, err := cmd.StringSlice() // ([]string, error)
slice
获取 []interface{}
Atas ialah kandungan terperinci jenis nilai pulangan fungsi Eval go-redis apabila skrip Lua mengembalikan tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!