Golang library for parsing and searching by csv-database MaxMind GeoIP (http://dev.maxmind.com/geoip/geoip2/geolite2/).
Database fully loaded into memory. Search perform via binary searching.
import "github.com/c0va23/go-geoipcsv"
var databaseReader io.Reader
database, databaseErr := geoipcsv.LoadDatabase(&databaseReader)
ipSrc := "::ffff:8.8.8.8"
ipAddress, ipAddressErr := geoicsv.ParseIpv6Address(ipSrc)
record := database.FindRecord(ipAddress)
println(record.GeonameId())