Go语言实现汉字繁体、简体互相转换

第一步:先获取库

复制代码
go get github.com/siongui/gojianfan

第二步:封装函数调用库

x/com/str.go

Go 复制代码
package com

import (
	"github.com/siongui/gojianfan"
	"strings"
)

type Str struct{}

func NewStr() *Str { return &Str{} }

func (*Str) HantHans(str string) []string {
	if strings.Trim(str, " ") == "" {
		return nil
	}
	wds := make(map[string]string)

	original := str
	wds[original] = original

	// 简体转繁体
	traditional := gojianfan.S2T(original)
	wds[traditional] = traditional

	// 繁体转简体
	simplified := gojianfan.T2S(traditional)
	wds[simplified] = simplified

	result := make([]string, 0)
	for _, v := range wds {
		result = append(result, v)
	}
	return result
}

第三步:调用(以Test为例)

x/test/han_test.go

Go 复制代码
package test

import (
	"testing"
	"x/com"
)

func TestHantHans(t *testing.T) {
	// 简体转繁体
	var s1 = com.NewStr().HantHans("广东省")
	// 繁体转简体
	var s2 = com.NewStr().HantHans("廣東省")
	t.Log(s1, s2)
}

输出结果:

例如,针对一些搜索业务时候,不管用户传入是简体汉字还是繁体汉字,最终都会是输出一组包含繁简数据,这样就方便多了。

评论