编程 Golang中国地址生成扩展包

2024-11-19 06:01:16 +0800 CST views 1120

Golang中国地址生成扩展包

背景

在开发项目的过程中,经常会需要生成一些国内的地址数据。在之前使用 PHP 和 Node.js 开发时,我曾使用过一些中国地址生成的扩展包,帮助快速生成符合规范的地址数据。然而,转向 Golang 进行项目开发时,我发现没有合适的地址生成工具。因此,我决定自己编写一个 Golang 的中国地址生成包,方便今后的开发使用。

包地址

https://github.com/GoFinalPack/chinese-address-generator

使用

安装依赖

go get github.com/GoFinalPack/chinese-address-generator@v1.0.0

目前更新到 v1.0.0 版本

代码中使用

生成一级地址

g := chineseaddressgenerator.Generator{}
g.Init()
level1 := g.GenerateLevel1()  // 一级地址
fmt.Println(level1)           // {"code": "230000", "region": "黑龙江省"}

生成二级地址

g := chineseaddressgenerator.Generator{}
g.Init()
level2 := g.GenerateLevel2()  // 二级地址
fmt.Println(level2)           // {"code": "620100", "region": "甘肃省兰州市"}

生成三级地址

g := chineseaddressgenerator.Generator{}
g.Init()
level3 := g.GenerateLevel3()  // 三级地址
fmt.Println(level3)           // {"code": "350205", "region": "福建省厦门市海沧区"}

生成四级地址

g := chineseaddressgenerator.Generator{}
g.Init()
level4 := g.GenerateLevel4()  // 四级地址
fmt.Println(level4)           // {"code": "310113111000", "region": "上海市市辖区宝山区高境镇"}

生成完整的地址

g := chineseaddressgenerator.Generator{}
g.Init()
fullAddress := g.FabricateFullAddress()  // 生成完整地址
fmt.Println(fullAddress)                 // {"code": "622926209000", "region": "甘肃省临夏回族自治州东乡族自治县五家乡1115号182室", "buildNo": 1115, "roomNo": 182}

PS: 上述生成的地址纯属虚构,如有雷同,纯属巧合。生成规则为:(001-1400)号(101-909)室。

包结构

.
├── README.md
├── generator.go
├── go.mod
├── tests
│   ├── generator_test.go
│   └── readLeave_test.go
└── utils
    ├── data
    │   ├── level3.json
    │   └── level4.txt
    └── utils.go
  • level3.json 文件中存储的是省、市、区数据
  • level4.txt 文件中存储的是街道、乡镇等数据

其他语言的扩展包

这些扩展包提供了类似的功能,可以在不同的开发环境中使用,帮助你生成符合中国地址规范的数据。

复制全文 生成海报 编程 Golang 地址生成 开发工具

推荐文章

Grid布局的简洁性和高效性
2024-11-18 03:48:02 +0800 CST
维护网站维护费一年多少钱?
2024-11-19 08:05:52 +0800 CST
html一个包含iPhoneX和MacBook模拟器
2024-11-19 08:03:47 +0800 CST
JavaScript设计模式:装饰器模式
2024-11-19 06:05:51 +0800 CST
用 Rust 构建一个 WebSocket 服务器
2024-11-19 10:08:22 +0800 CST
JavaScript 异步编程入门
2024-11-19 07:07:43 +0800 CST
windon安装beego框架记录
2024-11-19 09:55:33 +0800 CST
PHP 如何输出带微秒的时间
2024-11-18 01:58:41 +0800 CST
Elasticsearch 条件查询
2024-11-19 06:50:24 +0800 CST
Git 常用命令详解
2024-11-18 16:57:24 +0800 CST
初学者的 Rust Web 开发指南
2024-11-18 10:51:35 +0800 CST
liunx宝塔php7.3安装mongodb扩展
2024-11-17 11:56:14 +0800 CST
Web 端 Office 文件预览工具库
2024-11-18 22:19:16 +0800 CST
OpenCV 检测与跟踪移动物体
2024-11-18 15:27:01 +0800 CST
最全面的 `history` 命令指南
2024-11-18 21:32:45 +0800 CST
JavaScript设计模式:观察者模式
2024-11-19 05:37:50 +0800 CST
15 个你应该了解的有用 CSS 属性
2024-11-18 15:24:50 +0800 CST
Vue3中的事件处理方式有何变化?
2024-11-17 17:10:29 +0800 CST
Linux 常用进程命令介绍
2024-11-19 05:06:44 +0800 CST
Hypothesis是一个强大的Python测试库
2024-11-19 04:31:30 +0800 CST
在Rust项目中使用SQLite数据库
2024-11-19 08:48:00 +0800 CST
如何开发易支付插件功能
2024-11-19 08:36:25 +0800 CST
PHP服务器直传阿里云OSS
2024-11-18 19:04:44 +0800 CST
pip安装到指定目录上
2024-11-17 16:17:25 +0800 CST
程序员茄子在线接单