人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

go json編譯原理XJSON實現(xiàn)四則運算

發(fā)布日期:2022-07-15 19:19 | 文章來源:gibhub

在上一篇中介紹了xjson的功能特性以及使用查詢語法快速方便的獲取JSON中的值。

同時這次也更新了一個版本,主要是兩個升級:

  • 對轉義字符的支持。
  • 性能優(yōu)化,大約提升了30%??。

轉義字符

先說第一個轉義字符,不管是原始JSON字符串中存在轉義字符,還是查詢語法中存在轉義字符都已經(jīng)支持,具體用法如下:

str = `{"1a.b.[]":"b"}`
 get = Get(str, "1a\\.b\\.\\[\\]")
 assert.Equal(t, get.String(), "b")
 str = `{".":"b"}`
 get = Get(str, "\\.")
 assert.Equal(t, get.String(), "b")
 str = `{"a":"{\"a\":\"123\"}"}`
 get = Get(str, "a")
 fmt.Println(get)
 assert.Equal(t, get.String(), "{\"a\":\"123\"}")
 assert.Equal(t, Get(get.String(), "a").String(), "123")
 str = `{"a":"{\"a\":[1,2]}"}`
 get = Get(str, "a")
 fmt.Println(get)
 assert.Equal(t, get.String(), "{\"a\":[1,2]}")
 assert.Equal(t, Get(get.String(), "a[0]").Int(), 1)

性能優(yōu)化

性能也有部分優(yōu)化,大約比上一版本提升了 30%。

pkg: github.com/crossoverJie/xjson/benckmark
cpu: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
BenchmarkDecode-121496877130 ns/op 44959 B/op  1546 allocs/op
PASS
------------------------------------
pkg: github.com/crossoverJie/xjson/benckmark
cpu: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
BenchmarkDecode-121913662960 ns/op 41593 B/op  1407 allocs/op
PASS

但總體來說還有不少優(yōu)化空間,主要是上限畢竟低,和官方庫比還是有不小的差距。

實現(xiàn)四則運算

接下來聊聊四則運算是如何實現(xiàn)的,這本身算是一個比較有意思的feature,雖然用的場景不多

版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。

相關文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務

7x24全年不間斷在線

專屬顧問服務

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務熱線

關注
微信

關注官方微信
頂部