Maison >développement back-end >Golang >Comment implémenter la fonction d'interrogation des provinces et des villes de Golang

Comment implémenter la fonction d'interrogation des provinces et des villes de Golang

PHPz
PHPzoriginal
2023-04-14 13:53:471145parcourir

Dans le développement Web, interroger les provinces et les villes est un besoin courant, en particulier dans les scénarios commerciaux impliquant la localisation géographique. Dans Golang, la fonction d'interrogation des provinces et des villes peut être facilement réalisée en utilisant des bibliothèques tierces. Ensuite, cet article expliquera comment interroger les provinces et les villes de Golang.

1. Utiliser des bibliothèques tierces pour les requêtes

Dans Golang, la fonction d'interrogation des provinces et des villes peut être implémentée via des bibliothèques tierces. Voici le code de démonstration pour les requêtes à l'aide de beego/httplib :

``
. package main

import (

"fmt"
"github.com/astaxie/beego/httplib"

)

func main() {

req := httplib.Get("http://restapi.amap.com/v3/ip?key=您的高德地图key")
str, err := req.String()
if err != nil {
    fmt.Println(err)
    return
}
fmt.Println(str)

}
``

Dans le code ci-dessus, nous utilisons la bibliothèque beego/httplib pour faire des requêtes et recevoir les résultats de retour sous forme de chaîne. L'URL dans le code doit être remplacée par votre propre clé de carte Amap. Vous pouvez vous inscrire et obtenir la clé sur la plateforme de développement Amap.

2. Analysez le résultat du retour pour obtenir des informations sur la province et la ville

Dans la section précédente, nous avons réussi à obtenir les informations sur la province et la ville, mais le résultat du retour est une chaîne et ne peut pas obtenir directement les données dont nous avons besoin. Dans cette section, nous présenterons comment analyser les résultats renvoyés pour obtenir des informations sur la province et la ville.

L'exemple de code est le suivant :

``
package main

import (

"fmt"
"encoding/json"
"github.com/astaxie/beego/httplib"

)

type MapResult struct {

Status   string `json:"status"`
Province string `json:"province"`
City     string `json:"city"`

}

func main() {

req := httplib.Get("http://restapi.amap.com/v3/ip?key=您的高德地图key")
str, err := req.String()
if err != nil {
    fmt.Println(err)
    return
}
fmt.Println(str)

var result MapResult
err = json.Unmarshal([]byte(str), &result)
if err != nil {
    fmt.Println(err)
    return
}
fmt.Printf("当前所属省份:%s,城市:%s\n", result.Province, result.City)

}

在上述代码中,我们先定义了一个MapResult结构体用于存储返回结果中所需要的数据。接着,在获取返回结果后,通过json.Unmarshal()方法解析返回结果,并将解析后的数据存入MapResult结构体中,最终输出省份和城市信息。

三、总结

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn