package main import ( "encoding/json" "io/ioutil" "log" "net/http" "strings" "sync" ) func getLocation(wg *sync.WaitGroup, cfg *config) { res, err := http.Get("https://ipinfo.io/json") if err != nil { log.Println(err) return } defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) if err != nil { log.Println(err) } err = json.Unmarshal(body, &cfg) if err != nil { log.Println(err) } loc := strings.Split(cfg.Location, ",") cfg.Latitude, cfg.Longitude = loc[0], loc[1] wg.Done() } func getPreciseLocation(wg *sync.WaitGroup, cfg *config) { }