这个库比较细,包括村/街道。
Github: https://github.com/issue9/cnregion
数据来源于 http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/
package main
import (
"fmt"
"github.com/issue9/cnregion"
)
func main() {
v, _ := cnregion.LoadFile("./regions.db", "-", 2020)
p := v.Provinces() // 返回所有省列表
// cities := p[0].Items() // 返回该省下的所有市
// counties := cities[0].Items() // 返回该市下的所有县
// towns := counties[0].Items() // 返回所有镇
// villages := towns[0].Items() // 所有村和街道信息
// d := v.Districts() // 按以前的行政大区进行划分
// provinces := d[0].Items() // 该大区下的所有省份
// list := v.Search(&cnregion.SearchOptions{Text: "万年场"}) // 按索地名中带温州的区域列表
// for i, n := range list {
// fmt.Println(i, n.FullName())
// }
for i, n := range p {
fmt.Println(n.ID(), n.Name())
if n.ID() == "51" {
for _, m := range p[i].Items() {
fmt.Println("\t", m.ID(), m.Name())
}
}
}
}