[{"data":1,"prerenderedAt":973},["ShallowReactive",2],{"navigation":3,"\u002Fgolang\u002Fredis_big_num":144,"\u002Fgolang\u002Fredis_big_num-surround":968},[4,36,53,86,131],{"title":5,"path":6,"stem":7,"children":8,"icon":35},"Golang","\u002Fgolang","1.golang\u002F1.index",[9,11,15,19,23,27,31],{"title":10,"path":6,"stem":7},"golang-各种golang学习以及使用过程中记录",{"title":12,"path":13,"stem":14},"gopls-官方gopls内置mcp server的基本使用","\u002Fgolang\u002Fgopls_mcp_usages","1.golang\u002F2.gopls_mcp_usages",{"title":16,"path":17,"stem":18},"实践-(一)创建简单的http服务器","\u002Fgolang\u002Fgo_http_simple_server","1.golang\u002F3.go_http_simple_server",{"title":20,"path":21,"stem":22},"wails入门系列(一)环境安装与demo","\u002Fgolang\u002Fwails_start","1.golang\u002F4.wails_start",{"title":24,"path":25,"stem":26},"wails入门系列(二)无边框应用的菜单栏以及窗口拖拽","\u002Fgolang\u002Fwails_frameless","1.golang\u002F5.wails_frameless",{"title":28,"path":29,"stem":30},"go\u002Fredis-redis中大数字自动转换成指数形式的处理","\u002Fgolang\u002Fredis_big_num","1.golang\u002F6.redis_big_num",{"title":32,"path":33,"stem":34},"go\u002F方法记录-局部坐标与世界坐标间的相互转换(位置\u002F方向)","\u002Fgolang\u002Fworld_local_transform","1.golang\u002F7.world_local_transform",false,{"title":37,"icon":35,"path":38,"stem":39,"children":40,"page":35},"瞎折腾","\u002Ftinkering","2.tinkering",[41,45,49],{"title":42,"path":43,"stem":44},"mi50显卡ubuntu运行大模型开坑(一)显卡准备以及驱动安装","\u002Ftinkering\u002Fmi50_gpu_llm_1","2.tinkering\u002F1.mi50_gpu_llm_1",{"title":46,"path":47,"stem":48},"mi50显卡ubuntu运行大模型开坑(二)使用llama.cpp部署Qwen3系列","\u002Ftinkering\u002Fmi50_gpu_llm_2","2.tinkering\u002F2.mi50_gpu_llm_2",{"title":50,"path":51,"stem":52},"mi50显卡ubuntu运行大模型开坑(三)安装风扇并且控制转速","\u002Ftinkering\u002Fmi50_gpu_llm_3","2.tinkering\u002F3.mi50_gpu_llm_3",{"title":54,"icon":35,"path":55,"stem":56,"children":57,"page":35},"LLM","\u002Fllm","3.llm",[58,62,66,70,74,78,82],{"title":59,"path":60,"stem":61},"langchain入门-安装以及初次使用(deepseek api版本)","\u002Fllm\u002Flangchain1","3.llm\u002F01.langchain1",{"title":63,"path":64,"stem":65},"langchain入门-使用langchain调用本地部署的大模型(以llama.cpp以及ollama为例)","\u002Fllm\u002Flangchain2","3.llm\u002F02.langchain2",{"title":67,"path":68,"stem":69},"langchain入门-使用langchain编写一个简单的聊天机器人(DeepSeek API&命令行版本)","\u002Fllm\u002Flangchain3","3.llm\u002F03.langchain3",{"title":71,"path":72,"stem":73},"langchain入门-使用langchain构建一个拥有RAG能力的代码问答应用(DeepSeek API&本地bge-m3&命令行版本)","\u002Fllm\u002Flangchain4","3.llm\u002F04.langchain4",{"title":75,"path":76,"stem":77},"golang\u002Feino eino框架的基础使用 Message以及ChatModel入门","\u002Fllm\u002Feino1","3.llm\u002F05.eino1",{"title":79,"path":80,"stem":81},"golang\u002Feino eino框架的基础使用 在ChatModel中使用工具","\u002Fllm\u002Feino2","3.llm\u002F06.eino2",{"title":83,"path":84,"stem":85},"llm\u002Fagent agent-zero初步搭建与使用","\u002Fllm\u002Fagent_zero_start","3.llm\u002F07.agent_zero_start",{"title":87,"icon":35,"path":88,"stem":89,"children":90,"page":35},"Verilog","\u002Fverilog","4.verilog",[91,95,99,103,107,111,115,119,123,127],{"title":92,"path":93,"stem":94},"31条指令单周期cpu设计(Verilog)-(一)相关软件","\u002Fverilog\u002Fmips1","4.verilog\u002F01.mips1",{"title":96,"path":97,"stem":98},"31条指令单周期cpu设计(Verilog)-(二)总体设计","\u002Fverilog\u002Fmips2","4.verilog\u002F02.mips2",{"title":100,"path":101,"stem":102},"31条指令单周期cpu设计(Verilog)-(三)指令分析","\u002Fverilog\u002Fmips3","4.verilog\u002F03.mips3",{"title":104,"path":105,"stem":106},"31条指令单周期cpu设计(Verilog)-(四)数据输入输出关系表","\u002Fverilog\u002Fmips4","4.verilog\u002F04.mips4",{"title":108,"path":109,"stem":110},"31条指令单周期cpu设计(Verilog)-(五)整体数据通路图设计","\u002Fverilog\u002Fmips5","4.verilog\u002F05.mips5",{"title":112,"path":113,"stem":114},"31条指令单周期cpu设计(Verilog)-(六)指令操作时间表设计","\u002Fverilog\u002Fmips6","4.verilog\u002F06.mips6",{"title":116,"path":117,"stem":118},"31条指令单周期cpu设计(Verilog)-(七)整体代码结构","\u002Fverilog\u002Fmips7","4.verilog\u002F07.mips7",{"title":120,"path":121,"stem":122},"31条指令单周期cpu设计(Verilog)-(八)上代码→指令译码以及控制器","\u002Fverilog\u002Fmips8","4.verilog\u002F08.mips8",{"title":124,"path":125,"stem":126},"31条指令单周期cpu设计(Verilog)-(九)上代码→基础模块实现","\u002Fverilog\u002Fmips9","4.verilog\u002F09.mips9",{"title":128,"path":129,"stem":130},"31条指令单周期cpu设计(Verilog)-(十)上代码→顶层模块设计&总结","\u002Fverilog\u002Fmips10","4.verilog\u002F10.mips10",{"title":132,"icon":35,"path":133,"stem":134,"children":135,"page":35},"Rust","\u002Frust","5.rust",[136,140],{"title":137,"path":138,"stem":139},"egui(一)从编译运行template开始","\u002Frust\u002Fegui1","5.rust\u002F01.egui1",{"title":141,"path":142,"stem":143},"egui(二)看看template的main函数：日志输出以及eframe run_native","\u002Frust\u002Fegui2","5.rust\u002F02.egui2",{"id":145,"title":28,"body":146,"description":960,"extension":961,"links":962,"meta":963,"navigation":5,"path":29,"seo":964,"stem":30,"__hash__":967},"docs\u002F1.golang\u002F6.redis_big_num.md",{"type":147,"value":148,"toc":952},"minimark",[149,153,166,169,908,911,919,924,927,948],[150,151,152],"h2",{"id":152},"说在前面",[154,155,156],"blockquote",{},[157,158,159,163],"ul",{},[160,161,162],"li",{},"go version：go1.14.1 windows\u002Famd64",[160,164,165],{},"redis version：5.0.14",[150,167,168],{"id":168},"场景",[157,170,171,556,589,889,899],{},[160,172,173,174,178,179,182,183,186,187,190,191,555],{},"在使用",[175,176,177],"code",{},"redis","的有序集合(",[175,180,181],{},"sorted set",")实现排行榜功能的时候，通常会对成员(",[175,184,185],{},"member",")的分数(",[175,188,189],{},"score",")进行一定的设计；例如最简单的分数榜，可以使用：\n",[192,193,196,353],"span",{"className":194},[195],"katex",[192,197,200],{"className":198},[199],"katex-mathml",[201,202,204],"math",{"xmlns":203},"http:\u002F\u002Fwww.w3.org\u002F1998\u002FMath\u002FMathML",[205,206,207,348],"semantics",{},[208,209,210,214,217,220,223,227,232,235,238,241,244,247,250,253,255,258,262,264,266,268,270,272,274,277,280,283,285,287,289,291,293,295,297,300,302,304,306,308,310,312,314,316,318,321,323,325,328,330,332,334,336,339,341,344,346],"mrow",{},[211,212,213],"mi",{},"u",[211,215,216],{},"i",[211,218,219],{},"n",[211,221,222],{},"t",[224,225,226],"mn",{},"64",[228,229,231],"mo",{"stretchy":230},"false","(",[211,233,234],{},"s",[211,236,237],{},"c",[211,239,240],{},"o",[211,242,243],{},"r",[211,245,246],{},"e",[228,248,249],{"stretchy":230},")",[228,251,252],{},"\u003C",[228,254,252],{},[224,256,257],{},"32",[211,259,261],{"mathvariant":260},"normal","∣",[211,263,213],{},[211,265,216],{},[211,267,219],{},[211,269,222],{},[224,271,226],{},[228,273,231],{"stretchy":230},[224,275,276],{},"0",[228,278,279],{},"×",[211,281,282],{},"F",[211,284,282],{},[211,286,282],{},[211,288,282],{},[211,290,282],{},[211,292,282],{},[211,294,282],{},[211,296,282],{},[228,298,299],{},"−",[211,301,213],{},[211,303,216],{},[211,305,219],{},[211,307,222],{},[224,309,257],{},[228,311,231],{"stretchy":230},[211,313,237],{},[211,315,213],{},[211,317,243],{},[211,319,320],{"mathvariant":260},"_",[211,322,222],{},[211,324,216],{},[211,326,327],{},"m",[211,329,246],{},[211,331,320],{"mathvariant":260},[211,333,234],{},[211,335,222],{},[211,337,338],{},"a",[211,340,327],{},[211,342,343],{},"p",[228,345,249],{"stretchy":230},[228,347,249],{"stretchy":230},[349,350,352],"annotation",{"encoding":351},"application\u002Fx-tex","uint64(score) \u003C\u003C 32 | uint64(0\\times FFFFFFFF-uint32(cur\\_time\\_stamp))",[192,354,358,411,450,491],{"className":355,"ariaHidden":357},[356],"katex-html","true",[192,359,362,367,372,376,379,382,386,391,394,398,403,408],{"className":360},[361],"base",[192,363],{"className":364,"style":366},[365],"strut","height:1em;vertical-align:-0.25em;",[192,368,213],{"className":369},[370,371],"mord","mathnormal",[192,373,375],{"className":374},[370,371],"in",[192,377,222],{"className":378},[370,371],[192,380,226],{"className":381},[370],[192,383,231],{"className":384},[385],"mopen",[192,387,390],{"className":388,"style":389},[370,371],"margin-right:0.0278em;","scor",[192,392,246],{"className":393},[370,371],[192,395,249],{"className":396},[397],"mclose",[192,399],{"className":400,"style":402},[401],"mspace","margin-right:0.2778em;",[192,404,407],{"className":405},[406],"mrel","\u003C\u003C",[192,409],{"className":410,"style":402},[401],[192,412,414,417,421,424,427,430,433,436,439,443,447],{"className":413},[361],[192,415],{"className":416,"style":366},[365],[192,418,420],{"className":419},[370],"32∣",[192,422,213],{"className":423},[370,371],[192,425,375],{"className":426},[370,371],[192,428,222],{"className":429},[370,371],[192,431,226],{"className":432},[370],[192,434,231],{"className":435},[385],[192,437,276],{"className":438},[370],[192,440],{"className":441,"style":442},[401],"margin-right:0.2222em;",[192,444,279],{"className":445},[446],"mbin",[192,448],{"className":449,"style":442},[401],[192,451,453,457,461,464,467,470,473,476,479,482,485,488],{"className":452},[361],[192,454],{"className":455,"style":456},[365],"height:0.7667em;vertical-align:-0.0833em;",[192,458,282],{"className":459,"style":460},[370,371],"margin-right:0.1389em;",[192,462,282],{"className":463,"style":460},[370,371],[192,465,282],{"className":466,"style":460},[370,371],[192,468,282],{"className":469,"style":460},[370,371],[192,471,282],{"className":472,"style":460},[370,371],[192,474,282],{"className":475,"style":460},[370,371],[192,477,282],{"className":478,"style":460},[370,371],[192,480,282],{"className":481,"style":460},[370,371],[192,483],{"className":484,"style":442},[401],[192,486,299],{"className":487},[446],[192,489],{"className":490,"style":442},[401],[192,492,494,498,501,504,507,510,513,516,519,522,525,528,532,535,538,541,544,548,551],{"className":493},[361],[192,495],{"className":496,"style":497},[365],"height:1.06em;vertical-align:-0.31em;",[192,499,213],{"className":500},[370,371],[192,502,375],{"className":503},[370,371],[192,505,222],{"className":506},[370,371],[192,508,257],{"className":509},[370],[192,511,231],{"className":512},[385],[192,514,237],{"className":515},[370,371],[192,517,213],{"className":518},[370,371],[192,520,243],{"className":521,"style":389},[370,371],[192,523,320],{"className":524,"style":389},[370],[192,526,222],{"className":527},[370,371],[192,529,531],{"className":530},[370,371],"im",[192,533,246],{"className":534},[370,371],[192,536,320],{"className":537,"style":389},[370],[192,539,234],{"className":540},[370,371],[192,542,222],{"className":543},[370,371],[192,545,547],{"className":546},[370,371],"am",[192,549,343],{"className":550},[370,371],[192,552,554],{"className":553},[397],"))","\n作为成员的分数（即前32位使用实际的分数，后32位使用最大uint32值减去当前的unix时间戳），这样，在相同分数下，先达成的成员将排在前面。",[160,557,558,559,561,562,565,566,572],{},"这样的设计理论上其实是没有问题的；但是有序集合中的",[175,560,189],{},"的数据类型其实是",[175,563,564],{},"double","，",[338,567,571],{"href":568,"rel":569},"https:\u002F\u002Fredis.io\u002Fcommands\u002Fzadd\u002F",[570],"nofollow","详见",[154,573,574],{},[343,575,576,580,581,584,585,588],{},[577,578,579],"strong",{},"Redis sorted sets use a double 64-bit floating point number to represent the score.","\nIn all the architectures we support, this is represented as an IEEE 754 floating point number, that is able to represent precisely integer numbers between ",[577,582,583],{},"-(2^53) and +(2^53)"," included. In more practical terms, all the integers between -9007199254740992 and 9007199254740992 are perfectly representable.\n",[577,586,587],{},"Larger integers, or fractions, are internally represented in exponential form",", so it is possible that you get only an approximation of the decimal number, or of the very big integer, that you set as score.",[160,590,591,592,594,595],{},"当",[175,593,189],{},"超过一定大小后，就会转为指数形式；例如",[596,597,602],"pre",{"className":598,"code":599,"language":600,"meta":601,"style":601},"language-shell shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","127.0.0.1:6379> zadd test_key 9007199254740991 a\n127.0.0.1:6379> zrange test_key 0 -1 WITHSCORES\n1) \"a\"\n2) \"9007199254740991\"\n\u002F\u002F 这个时候还是很正常的\n127.0.0.1:6379> zadd test_key 9007199254740993 a\n127.0.0.1:6379> zrange test_key 0 -1 WITHSCORES\n1) \"a\"\n2) \"9007199254740992\"\n127.0.0.1:6379> zadd test_key 10007199254740993 a\n127.0.0.1:6379> zrange test_key 0 -1 WITHSCORES\n1) \"a\"\n2) \"10007199254740992\"\n\u002F\u002F 只是+1，已经出现精度丢失了\n127.0.0.1:6379> zadd test_key 110007199254740993 a\n127.0.0.1:6379> zrange test_key 0 -1 WITHSCORES\n1) \"a\"\n2) \"1.1000719925474099e+17\"\n\u002F\u002F 使用指数形式表示了\n","shell","",[175,603,604,630,651,669,684,693,709,726,739,753,769,786,799,813,821,837,854,867,881],{"__ignoreMap":601},[192,605,608,612,616,620,623,627],{"class":606,"line":607},"line",1,[192,609,611],{"class":610},"sBMFI","127.0.0.1:6379",[192,613,615],{"class":614},"sTEyZ","> ",[192,617,619],{"class":618},"sfazB","zadd",[192,621,622],{"class":618}," test_key",[192,624,626],{"class":625},"sbssI"," 9007199254740991",[192,628,629],{"class":618}," a\n",[192,631,633,635,637,640,642,645,648],{"class":606,"line":632},2,[192,634,611],{"class":610},[192,636,615],{"class":614},[192,638,639],{"class":618},"zrange",[192,641,622],{"class":618},[192,643,644],{"class":625}," 0",[192,646,647],{"class":618}," -1",[192,649,650],{"class":618}," WITHSCORES\n",[192,652,654,657,660,664,666],{"class":606,"line":653},3,[192,655,656],{"class":610},"1",[192,658,659],{"class":614},") ",[192,661,663],{"class":662},"sMK4o","\"",[192,665,338],{"class":618},[192,667,668],{"class":662},"\"\n",[192,670,672,675,677,679,682],{"class":606,"line":671},4,[192,673,674],{"class":610},"2",[192,676,659],{"class":614},[192,678,663],{"class":662},[192,680,681],{"class":618},"9007199254740991",[192,683,668],{"class":662},[192,685,687,690],{"class":606,"line":686},5,[192,688,689],{"class":610},"\u002F\u002F",[192,691,692],{"class":618}," 这个时候还是很正常的\n",[192,694,696,698,700,702,704,707],{"class":606,"line":695},6,[192,697,611],{"class":610},[192,699,615],{"class":614},[192,701,619],{"class":618},[192,703,622],{"class":618},[192,705,706],{"class":625}," 9007199254740993",[192,708,629],{"class":618},[192,710,712,714,716,718,720,722,724],{"class":606,"line":711},7,[192,713,611],{"class":610},[192,715,615],{"class":614},[192,717,639],{"class":618},[192,719,622],{"class":618},[192,721,644],{"class":625},[192,723,647],{"class":618},[192,725,650],{"class":618},[192,727,729,731,733,735,737],{"class":606,"line":728},8,[192,730,656],{"class":610},[192,732,659],{"class":614},[192,734,663],{"class":662},[192,736,338],{"class":618},[192,738,668],{"class":662},[192,740,742,744,746,748,751],{"class":606,"line":741},9,[192,743,674],{"class":610},[192,745,659],{"class":614},[192,747,663],{"class":662},[192,749,750],{"class":618},"9007199254740992",[192,752,668],{"class":662},[192,754,756,758,760,762,764,767],{"class":606,"line":755},10,[192,757,611],{"class":610},[192,759,615],{"class":614},[192,761,619],{"class":618},[192,763,622],{"class":618},[192,765,766],{"class":625}," 10007199254740993",[192,768,629],{"class":618},[192,770,772,774,776,778,780,782,784],{"class":606,"line":771},11,[192,773,611],{"class":610},[192,775,615],{"class":614},[192,777,639],{"class":618},[192,779,622],{"class":618},[192,781,644],{"class":625},[192,783,647],{"class":618},[192,785,650],{"class":618},[192,787,789,791,793,795,797],{"class":606,"line":788},12,[192,790,656],{"class":610},[192,792,659],{"class":614},[192,794,663],{"class":662},[192,796,338],{"class":618},[192,798,668],{"class":662},[192,800,802,804,806,808,811],{"class":606,"line":801},13,[192,803,674],{"class":610},[192,805,659],{"class":614},[192,807,663],{"class":662},[192,809,810],{"class":618},"10007199254740992",[192,812,668],{"class":662},[192,814,816,818],{"class":606,"line":815},14,[192,817,689],{"class":610},[192,819,820],{"class":618}," 只是+1，已经出现精度丢失了\n",[192,822,824,826,828,830,832,835],{"class":606,"line":823},15,[192,825,611],{"class":610},[192,827,615],{"class":614},[192,829,619],{"class":618},[192,831,622],{"class":618},[192,833,834],{"class":625}," 110007199254740993",[192,836,629],{"class":618},[192,838,840,842,844,846,848,850,852],{"class":606,"line":839},16,[192,841,611],{"class":610},[192,843,615],{"class":614},[192,845,639],{"class":618},[192,847,622],{"class":618},[192,849,644],{"class":625},[192,851,647],{"class":618},[192,853,650],{"class":618},[192,855,857,859,861,863,865],{"class":606,"line":856},17,[192,858,656],{"class":610},[192,860,659],{"class":614},[192,862,663],{"class":662},[192,864,338],{"class":618},[192,866,668],{"class":662},[192,868,870,872,874,876,879],{"class":606,"line":869},18,[192,871,674],{"class":610},[192,873,659],{"class":614},[192,875,663],{"class":662},[192,877,878],{"class":618},"1.1000719925474099e+17",[192,880,668],{"class":662},[192,882,884,886],{"class":606,"line":883},19,[192,885,689],{"class":610},[192,887,888],{"class":618}," 使用指数形式表示了\n",[160,890,891,892,894,895,898],{},"在转成指数形式时候，如果还是将从",[175,893,177],{},"中取出来的数据转成",[175,896,897],{},"uint64","，那么就会转换不过去。",[160,900,901,902,904,905,907],{},"这个问题在",[175,903,189],{},"相对比较小的时候，不太会出现；但是如果",[175,906,189],{},"设计的时候更加细分，比如前32位使用16位的等级+16位的经验，那么就会很容易出现。",[150,909,910],{"id":910},"解决方式",[912,913,915,916,918],"h3",{"id":914},"在score设计上避免出现问题","在",[175,917,189],{},"设计上避免出现问题",[157,920,921],{},[160,922,923],{},"例如将后面的时间戳数据换一种形式记录，比如分钟、小时、天，而不使用秒，从而降低bit位的占用，将更多的bit位放在score上",[912,925,926],{"id":926},"其他",[157,928,929,939],{},[160,930,931,932,934,935,938],{},"暂时没有想到什么更好的方法；这本质上是",[175,933,897],{},"转",[175,936,937],{},"float64","的问题，当数值大了之后，一定会有精度差异；",[160,940,941,942,947],{},"即使使用类型安全的redis库，例如",[338,943,946],{"href":944,"rel":945},"https:\u002F\u002Fgithub.com\u002Fgo-redis\u002Fredis",[570],"go-redis","，也会面临这个问题。",[949,950,951],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":601,"searchDepth":607,"depth":632,"links":953},[954,955,956],{"id":152,"depth":632,"text":152},{"id":168,"depth":632,"text":168},{"id":910,"depth":632,"text":910,"children":957},[958,959],{"id":914,"depth":653,"text":914},{"id":926,"depth":653,"text":926},"Golang 学习笔记与技术实践记录，包括 MCP Server 配置、HTTP 服务器搭建、Wails 桌面应用开发等内容，适合 Go 语言开发者参考学习。","md",null,{},{"title":965,"description":966},"【golang】redis中大数字自动转换成指数形式的处理","正在从csdn逐步迁移中","vA4hj4TVn3FONd7vkcx02c1Gl0h6M1fWet-OFczD30c",[969,971],{"title":24,"path":25,"stem":26,"description":970,"children":-1},"Wails 无边框窗口开发教程，介绍 Frameless 配置、自定义标题栏实现、窗口控制按钮（最小化\u002F最大化\u002F关闭）以及使用 CSS --wails-draggable 实现窗口拖拽功能。",{"title":32,"path":33,"stem":34,"description":972,"children":-1},"使用 Go 语言 gonum 库实现局部坐标与世界坐标的相互转换，包括四元数与旋转矩阵转换、变换矩阵计算、欧拉角转四元数等方法。",1776616490416]