gbt2260Go 語(yǔ)言實(shí)現(xiàn)的中國(guó)行政區(qū)劃代碼包
中國(guó)行政區(qū)劃代碼
中華人民共和國(guó)縣以上行政區(qū)劃代碼的golang包
安裝
go get gitee.com/ppmoon/gbt2260
或者你使用vgo
vgo get gitee.com/ppmoon/gbt2260
如何使用?
輸入一個(gè)行政區(qū)域代碼比如 130104 返回一個(gè)省市縣的數(shù)組[河北省 石家莊市 橋西區(qū)] 如果是直轄市比如北京 110000 返回就是[北京市]
//引入包
import "gitee.com/ppmoon/gbt2260"
//打印查看
region := gbt2260.NewGBT2260()
localCode := region.SearchGBT2260("130104")
fmt.Println(localCode)
[河北省 石家莊市 橋西區(qū)]
數(shù)據(jù)來(lái)源
目前數(shù)據(jù)使用2018年4月的最新數(shù)據(jù)
民政部啥時(shí)候發(fā)布新數(shù)據(jù)還是挺沒(méi)準(zhǔn)的,看之前的數(shù)據(jù)是一年一發(fā),今年貌似1月2月發(fā)了,但是后面就沒(méi)發(fā),現(xiàn)在也找不到什么規(guī)律。 不然考慮每次載入程序的時(shí)候都去民政部官方網(wǎng)站更新下數(shù)據(jù)。
其他
gbt2260的數(shù)據(jù)存儲(chǔ)到了一個(gè)trie 字典樹(shù)當(dāng)中。這樣的數(shù)據(jù)結(jié)構(gòu)查詢的時(shí)候更快。(雖然3000多條數(shù)據(jù)完全沒(méi)感覺(jué)~~~)
數(shù)據(jù)并不是從GBT2260-201802.csv生成的,我使用gengbt2260.go根據(jù)GBT2260-201802.csv生成了一個(gè)gbt2260Table.go因?yàn)間olang程序編譯了以后不會(huì)去包的根目錄去尋找csv文件而是從編譯好的二進(jìn)制文件的當(dāng)前目錄尋找的。所以將直接數(shù)據(jù)編譯成源碼寫(xiě)到內(nèi)存里。
希望這個(gè)擴(kuò)展包可以幫助大家解決行政區(qū)域的業(yè)務(wù)需求。我自己是用來(lái)解析身份證信息來(lái)使用的。如果覺(jué)得對(duì)你有幫助歡迎star謝謝。
大家使用的過(guò)程當(dāng)中如果發(fā)現(xiàn)任何問(wèn)題或者想吐槽我的代碼可以提交issue。 數(shù)據(jù)需要更新的時(shí)候也麻煩大家提交issue,當(dāng)然未來(lái)也希望這個(gè)包可以自動(dòng)從民政部的網(wǎng)站上更新中華人民共和國(guó)縣以上行政區(qū)劃代碼的數(shù)據(jù)。
