Skip to content

TcMits/vnprovince

Repository files navigation

vnprovince

vnprovince provides a list of Vietnam administrative divisions

Features

  • get all divisions
  • convert old divisions to 01/07/2025 divisions

Install

go get github.com/TcMits/vnprovince/v2@main

Updates

  • use github.com/TcMits/vnprovince/v2@main for 01/07/2025 divisions

Examples

Loop

package main

import (
  "github.com/TcMits/vnprovince"
)

func main() {
	vnprovince.EachDivision(func(d Division) bool {
		return true
	})
}

Convert v1 to v2

package main

import (
  "log"
  v1 "github.com/TcMits/vnprovince"
  v2 "github.com/TcMits/vnprovince/v2"
)

func main() {
	v1Idx := 0
	v1.EachDivision(func(d v1.Division) bool {
		if d.ProvinceName == "Thành phố Hồ Chí Minh" && d.DistrictName == "Quận 3" && d.WardName == "Phường 14" {
			return false
		}

		v1Idx++
		return true
	})

	v2Idx, ok := v2.V1IndexToV2Index(v1Idx)
	if !ok {
		log.Fatalf("Expected to find index for v1 index %d, but got none", v1Idx)
	}

	d, ok := v2.AtIndex(v2Idx)
	if !ok {
		log.Fatalf("Expected to find division at index %d, but got none", v2Idx)
	}

	if d.ProvinceName != "Thành phố Hồ Chí Minh" {
		log.Fatalf("Expected province name 'Thành phố Hồ Chí Minh', got '%s'", d.ProvinceName)
	}

	if d.WardName != "Phường Nhiêu Lộc" {
		log.Fatalf("Expected ward name 'Phường Nhiêu Lộc', got '%s'", d.WardName)
	}
}

Data

About

vnprovince provides a list of Vietnam administrative divisions

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages