Web 開発では、特に地理的位置が関係するビジネス シナリオでは、州や都市のクエリは一般的な要件です。 Golang では、サードパーティのライブラリを使用することで、州や都市をクエリする機能を簡単に実現できます。次に、この記事では Golang で州や都市をクエリする方法を紹介します。
1. クエリにサードパーティ ライブラリを使用する
Golang では、州や都市をクエリする機能はサードパーティ ライブラリを通じて実装できます。以下は 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)
}
``
上記のコードでは、beego/httplib ライブラリを使用してリクエストを行い、戻り結果を文字列形式で受け取ります。コード内の URL は、Amap 開発者プラットフォームに登録して取得できる独自の Amap マップ キーに置き換える必要があります。
2. 返された結果を解析して州と都市の情報を取得する
前のセクションでは、州と都市の情報を正常に取得しましたが、返された結果は文字列であるため、直接取得できません。必要なもの、それはデータです。このセクションでは、返された結果を解析して州と都市の情報を取得する方法を紹介します。
サンプル コードは次のとおりです。
``
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结构体中,最终输出省份和城市信息。 三、总结
以上がGolangで州や市をクエリする機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。