[{"data":1,"prerenderedAt":347},["ShallowReactive",2],{"article-go-hant-hans":3},{"id":4,"title":5,"body":6,"date":336,"description":26,"extension":337,"meta":338,"navigation":53,"path":342,"rawbody":343,"seo":344,"stem":345,"__hash__":346},"content\u002Fyehangzhou\u002Fposts\u002Fgo-hant-hans.md","Go语言实现汉字繁体、简体互相转换",{"type":7,"value":8,"toc":334},"minimark",[9,13,16,27,30,33,239,242,245,313,316,327,330],[10,11,12],"p",{},"预先说明：以项目名为 x 作为示例",[10,14,15],{},"第一步：先获取库",[17,18,23],"pre",{"className":19,"code":21,"language":22},[20],"language-text","go get github.com\u002Fsiongui\u002Fgojianfan\n","text",[24,25,21],"code",{"__ignoreMap":26},"",[10,28,29],{},"第二步：封装函数（调用gojianfan库）",[10,31,32],{},"x\u002Fcom\u002Fstr.go",[17,34,38],{"className":35,"code":36,"language":37,"meta":26,"style":26},"language-go shiki shiki-themes github-light github-dark","package com\n\nimport (\n    \"github.com\u002Fsiongui\u002Fgojianfan\"\n    \"strings\"\n)\n\ntype Str struct{}\n\nfunc NewStr() *Str { return &Str{} }\n\nfunc (*Str) HantHans(str string) []string {\n    if strings.Trim(str, \" \") == \"\" {\n        return nil\n    }\n    wds := make(map[string]string)\n\n    original := str\n    wds[original] = original\n\n    \u002F\u002F 简体转繁体\n    traditional := gojianfan.S2T(original)\n    wds[traditional] = traditional\n\n    \u002F\u002F 繁体转简体\n    simplified := gojianfan.T2S(traditional)\n    wds[simplified] = simplified\n\n    result := make([]string, 0)\n    for _, v := range wds {\n        result = append(result, v)\n    }\n    return result\n}\n","go",[24,39,40,48,55,61,67,73,79,84,90,95,101,106,112,118,124,130,136,141,147,153,158,164,170,176,181,187,193,199,204,210,216,222,227,233],{"__ignoreMap":26},[41,42,45],"span",{"class":43,"line":44},"line",1,[41,46,47],{},"package com\n",[41,49,51],{"class":43,"line":50},2,[41,52,54],{"emptyLinePlaceholder":53},true,"\n",[41,56,58],{"class":43,"line":57},3,[41,59,60],{},"import (\n",[41,62,64],{"class":43,"line":63},4,[41,65,66],{},"    \"github.com\u002Fsiongui\u002Fgojianfan\"\n",[41,68,70],{"class":43,"line":69},5,[41,71,72],{},"    \"strings\"\n",[41,74,76],{"class":43,"line":75},6,[41,77,78],{},")\n",[41,80,82],{"class":43,"line":81},7,[41,83,54],{"emptyLinePlaceholder":53},[41,85,87],{"class":43,"line":86},8,[41,88,89],{},"type Str struct{}\n",[41,91,93],{"class":43,"line":92},9,[41,94,54],{"emptyLinePlaceholder":53},[41,96,98],{"class":43,"line":97},10,[41,99,100],{},"func NewStr() *Str { return &Str{} }\n",[41,102,104],{"class":43,"line":103},11,[41,105,54],{"emptyLinePlaceholder":53},[41,107,109],{"class":43,"line":108},12,[41,110,111],{},"func (*Str) HantHans(str string) []string {\n",[41,113,115],{"class":43,"line":114},13,[41,116,117],{},"    if strings.Trim(str, \" \") == \"\" {\n",[41,119,121],{"class":43,"line":120},14,[41,122,123],{},"        return nil\n",[41,125,127],{"class":43,"line":126},15,[41,128,129],{},"    }\n",[41,131,133],{"class":43,"line":132},16,[41,134,135],{},"    wds := make(map[string]string)\n",[41,137,139],{"class":43,"line":138},17,[41,140,54],{"emptyLinePlaceholder":53},[41,142,144],{"class":43,"line":143},18,[41,145,146],{},"    original := str\n",[41,148,150],{"class":43,"line":149},19,[41,151,152],{},"    wds[original] = original\n",[41,154,156],{"class":43,"line":155},20,[41,157,54],{"emptyLinePlaceholder":53},[41,159,161],{"class":43,"line":160},21,[41,162,163],{},"    \u002F\u002F 简体转繁体\n",[41,165,167],{"class":43,"line":166},22,[41,168,169],{},"    traditional := gojianfan.S2T(original)\n",[41,171,173],{"class":43,"line":172},23,[41,174,175],{},"    wds[traditional] = traditional\n",[41,177,179],{"class":43,"line":178},24,[41,180,54],{"emptyLinePlaceholder":53},[41,182,184],{"class":43,"line":183},25,[41,185,186],{},"    \u002F\u002F 繁体转简体\n",[41,188,190],{"class":43,"line":189},26,[41,191,192],{},"    simplified := gojianfan.T2S(traditional)\n",[41,194,196],{"class":43,"line":195},27,[41,197,198],{},"    wds[simplified] = simplified\n",[41,200,202],{"class":43,"line":201},28,[41,203,54],{"emptyLinePlaceholder":53},[41,205,207],{"class":43,"line":206},29,[41,208,209],{},"    result := make([]string, 0)\n",[41,211,213],{"class":43,"line":212},30,[41,214,215],{},"    for _, v := range wds {\n",[41,217,219],{"class":43,"line":218},31,[41,220,221],{},"        result = append(result, v)\n",[41,223,225],{"class":43,"line":224},32,[41,226,129],{},[41,228,230],{"class":43,"line":229},33,[41,231,232],{},"    return result\n",[41,234,236],{"class":43,"line":235},34,[41,237,238],{},"}\n",[10,240,241],{},"第三步：调用（以Test为例）",[10,243,244],{},"x\u002Ftest\u002Fhan_test.go",[17,246,248],{"className":35,"code":247,"language":37,"meta":26,"style":26},"package test\n\nimport (\n    \"testing\"\n    \"x\u002Fcom\"\n)\n\nfunc TestHantHans(t *testing.T) {\n    \u002F\u002F 简体转繁体\n    var s1 = com.NewStr().HantHans(\"广东省\")\n    \u002F\u002F 繁体转简体\n    var s2 = com.NewStr().HantHans(\"廣東省\")\n    t.Log(s1, s2)\n}\n",[24,249,250,255,259,263,268,273,277,281,286,290,295,299,304,309],{"__ignoreMap":26},[41,251,252],{"class":43,"line":44},[41,253,254],{},"package test\n",[41,256,257],{"class":43,"line":50},[41,258,54],{"emptyLinePlaceholder":53},[41,260,261],{"class":43,"line":57},[41,262,60],{},[41,264,265],{"class":43,"line":63},[41,266,267],{},"    \"testing\"\n",[41,269,270],{"class":43,"line":69},[41,271,272],{},"    \"x\u002Fcom\"\n",[41,274,275],{"class":43,"line":75},[41,276,78],{},[41,278,279],{"class":43,"line":81},[41,280,54],{"emptyLinePlaceholder":53},[41,282,283],{"class":43,"line":86},[41,284,285],{},"func TestHantHans(t *testing.T) {\n",[41,287,288],{"class":43,"line":92},[41,289,163],{},[41,291,292],{"class":43,"line":97},[41,293,294],{},"    var s1 = com.NewStr().HantHans(\"广东省\")\n",[41,296,297],{"class":43,"line":103},[41,298,186],{},[41,300,301],{"class":43,"line":108},[41,302,303],{},"    var s2 = com.NewStr().HantHans(\"廣東省\")\n",[41,305,306],{"class":43,"line":114},[41,307,308],{},"    t.Log(s1, s2)\n",[41,310,311],{"class":43,"line":120},[41,312,238],{},[10,314,315],{},"输出结果：",[10,317,318],{},[319,320,324],"a",{"href":321,"rel":322},"https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Ftomdehub\u002Fresources\u002Fbe\u002Ff16d677e3033c8b5d8288f0dbd586d61\u002Fblog_6038391571834635959\u002F2026-07\u002F2026070301_GV9wLBfDR.png",[323],"nofollow",[325,326],"img",{"alt":26,"src":321},[10,328,329],{},"例如，针对一些搜索业务时候，不管用户传入是简体汉字还是繁体汉字，最终都会是输出一组包含繁简数据，这样就方便多了。",[331,332,333],"style",{},"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":26,"searchDepth":50,"depth":50,"links":335},[],"2026-07-03 00:55:01","md",{"tags":339,"image":321},[340,341],"汉字繁简互转","Golang","\u002Fyehangzhou\u002Fposts\u002Fgo-hant-hans","---\ntitle: 'Go语言实现汉字繁体、简体互相转换'\ndescription: ''\ndate: 2026-07-03 00:55:01\ntags: ['汉字繁简互转', 'Golang']\nimage: 'https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Ftomdehub\u002Fresources\u002Fbe\u002Ff16d677e3033c8b5d8288f0dbd586d61\u002Fblog_6038391571834635959\u002F2026-07\u002F2026070301_GV9wLBfDR.png'\n---\n\n预先说明：以项目名为 x 作为示例\n\n第一步：先获取库\n\n```\ngo get github.com\u002Fsiongui\u002Fgojianfan\n```\n\n第二步：封装函数（调用gojianfan库）\n\nx\u002Fcom\u002Fstr.go\n\n```go\npackage com\n\nimport (\n\t\"github.com\u002Fsiongui\u002Fgojianfan\"\n\t\"strings\"\n)\n\ntype Str struct{}\n\nfunc NewStr() *Str { return &Str{} }\n\nfunc (*Str) HantHans(str string) []string {\n\tif strings.Trim(str, \" \") == \"\" {\n\t\treturn nil\n\t}\n\twds := make(map[string]string)\n\n\toriginal := str\n\twds[original] = original\n\n\t\u002F\u002F 简体转繁体\n\ttraditional := gojianfan.S2T(original)\n\twds[traditional] = traditional\n\n\t\u002F\u002F 繁体转简体\n\tsimplified := gojianfan.T2S(traditional)\n\twds[simplified] = simplified\n\n\tresult := make([]string, 0)\n\tfor _, v := range wds {\n\t\tresult = append(result, v)\n\t}\n\treturn result\n}\n```\n\n第三步：调用（以Test为例）\n\nx\u002Ftest\u002Fhan\\_test.go\n\n```go\npackage test\n\nimport (\n\t\"testing\"\n\t\"x\u002Fcom\"\n)\n\nfunc TestHantHans(t *testing.T) {\n\t\u002F\u002F 简体转繁体\n\tvar s1 = com.NewStr().HantHans(\"广东省\")\n\t\u002F\u002F 繁体转简体\n\tvar s2 = com.NewStr().HantHans(\"廣東省\")\n\tt.Log(s1, s2)\n}\n```\n\n输出结果：\n\n[![](https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Ftomdehub\u002Fresources\u002Fbe\u002Ff16d677e3033c8b5d8288f0dbd586d61\u002Fblog_6038391571834635959\u002F2026-07\u002F2026070301_GV9wLBfDR.png)](https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Ftomdehub\u002Fresources\u002Fbe\u002Ff16d677e3033c8b5d8288f0dbd586d61\u002Fblog_6038391571834635959\u002F2026-07\u002F2026070301_GV9wLBfDR.png)\n\n例如，针对一些搜索业务时候，不管用户传入是简体汉字还是繁体汉字，最终都会是输出一组包含繁简数据，这样就方便多了。\n",{"title":5,"description":26},"yehangzhou\u002Fposts\u002Fgo-hant-hans","txOejnUY5cEqB3a11A9dhcErCamhDEGjZMPGT7e1wwo",1784926505295]