gbt2260

package module
v1.3.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 6, 2020 License: MIT Imports: 5 Imported by: 0

README

中国行政区划代码

中华人民共和国县以上行政区划代码的golang包

安装

go get -u github.com/ppmoon/gbt2260

或者你使用go module(vgo)

go get -u github.com/ppmoon/gbt2260

如何使用?

输入一个行政区域代码比如 130104 返回一个省市县的数组[河北省 石家庄市 桥西区] 如果是直辖市比如北京 110000 返回就是[北京市]

//引入包
import "github.com/ppmoon/gbt2260"
//打印查看
region := gbt2260.NewGBT2260()
localCode := region.SearchGBT2260("130104")
fmt.Println(localCode)
[河北省 石家庄市 桥西区]

数据来源

目前数据使用2018年8月的最新数据

中华人民共和国民政部

民政部啥时候发布新数据还是挺没准的,看之前的数据是一年一发,今年貌似1月2月发了,但是后面就没发,现在也找不到什么规律。 不然考虑每次载入程序的时候都去民政部官方网站更新下数据。

其他

1.gbt2260的数据存储到了一个trie 字典树当中。这样的数据结构查询的时候更快。(虽然3000多条数据完全没感觉~~~)

2.数据并不是从GBT2260-201802.csv生成的,我使用gengbt2260.go根据GBT2260-201802.csv生成了一个gbt2260Table.go因为golang程序编译了以后不会去包的根目录去寻找csv文件而是从编译好的二进制文件的当前目录寻找的。所以将直接数据编译成源码写到内存里。

3.希望这个扩展包可以帮助大家解决行政区域的业务需求。我自己是用来解析身份证信息来使用的。如果觉得对你有帮助欢迎star谢谢。

大家使用的过程当中如果发现任何问题或者想吐槽我的代码可以提交issue。 数据需要更新的时候也麻烦大家提交issue,当然未来也希望这个包可以自动从民政部的网站上更新中华人民共和国县以上行政区划代码的数据。

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateGBT2260Table

func CreateGBT2260Table()

func GetGbt2260Table

func GetGbt2260Table() [][]string

Types

type BGT2260

type BGT2260 struct{}

func NewGBT2260

func NewGBT2260() *BGT2260

func (*BGT2260) SearchGBT2260

func (b *BGT2260) SearchGBT2260(code string) []string

从树里面读取数据

type Node

type Node struct {
	// contains filtered or unexported fields
}

节点

func (Node) Children

func (n Node) Children() map[string]*Node

返回一个子叶

func (*Node) NewChild

func (n *Node) NewChild(key string, value string) *Node

创建并返回一个新子节点的指针这里的key

type Trie

type Trie struct {
	// contains filtered or unexported fields
}

跟树

func New

func New() *Trie

创建一颗新树

func (*Trie) Add

func (t *Trie) Add(lCode []string, name string) *Node

添加节点

func (*Trie) Root

func (t *Trie) Root() *Node

返回跟节点

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL