Google Geocoding

package main

import (
    "fmt"
    "log"
    "net/http"
    "io/ioutil"
)

func main() {
    // Step 1: Define the API URL for Google Geocoding
    apiUrl := "https://maps.googleapis.com/maps/api/geocode/json?"

    // Step 2: Set the parameters for the Geocoding request
    parameters := map[string]string{
        "address": "1600 Amphitheatre Parkway, Mountain View, CA",
        "key":     "YOUR_API_KEY", // Replace with your actual API key
    }

    // Step 3: Build the request URL with the parameters
    reqUrl := apiUrl + "address=" + parameters["address"] + "&key=" + parameters["key"]

    // Step 4: Send an HTTP GET request to the Geocoding API
    response, err := http.Get(reqUrl)
    if err != nil {
        log.Fatal(err)
    }
    defer response.Body.Close()

    // Step 5: Read the response body
    responseBody, err := ioutil.ReadAll(response.Body)
    if err != nil {
        log.Fatal(err)
    }

    // Step 6: Parse the JSON response
    fmt.Println(string(responseBody))
}

Note: In this example, you need to replace "YOUR_API_KEY" with your actual Google Geocoding API key.