代码拉取完成,页面将自动刷新
同步操作将从 ppmoon/gbt2260 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
package gbt2260
import (
"fmt"
)
type BGT2260 struct{}
//通过全局的方式创建trie树
var trie = New()
func NewGBT2260() *BGT2260 {
gbt2260Table := GetGbt2260Table()
for _, cell := range gbt2260Table {
createTrieTree(cell[0], cell[1], trie)
}
return &BGT2260{}
}
//向树中插入数据
func createTrieTree(code string, name string, trie *Trie) {
//检查传递参数
if code == "" || len(code) == 0 {
return
}
//过滤下数据构造插入lCode
var lCode = stringParse(code)
//创建trie树
trieRoot := trie
trieRoot.Add(lCode, name)
}
//将传入的字符串解析成字符串数组
func stringParse(str string) []string {
var lCode []string
for i := 0; i < len(str)/2; i++ {
if str[2*i:2*(i+1)] != "00" {
lCode = append(lCode, str[2*i:2*(i+1)])
}
}
return lCode
}
//从树里面读取数据
func (b *BGT2260) SearchGBT2260(code string) []string {
var lCode = stringParse(code)
var newCode = []string{}
node := trie.Root()
for i := range lCode {
r := lCode[i]
if n, ok := node.children[r]; ok {
newCode = append(newCode, n.value)
node = n
} else {
fmt.Printf("对不起,您输入的地域码不在列表当中")
}
}
return newCode
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。