Sono interessato ad assumere in modo dinamico argomenti dall'utente come input tramite un browser o una CLI per passare tali parametri alla chiamata API REST e quindi costruire l'URL in modo dinamico utilizzando Go che sta per alla fine mi prendo dei dati JSON. Volevo conoscere alcune tecniche in Go che potrebbero aiutarmi a farlo. Un modo ideale che pensavo fosse usare una mappa e popolarla con chiavi di argomento e valori corrispondenti e iterare su di essa e aggiungerla alla stringa dell'URL. Ma quando si tratta di prendere dinamicamente gli argomenti e di compilare la mappa, non sono molto sicuro come farlo in Go. Qualcuno può darmi una mano con qualche frammento di codice in Go?Generatore di URL/Generatore di query in Go
Esempio -
http: //: port = api fetchJsonData & arg1 = val1 & arg2 = val2 & arg3 = val3 ..... & argn = valn
Questo è un bel modo. Grazie. Potresti anche suggerire un modo, in cui potrei memorizzare la coppia chiave-valore in una mappa e quindi usare quella mappa per costruire l'URL? – psbits
@psbits 'url.Values' è una mappa (puoi ottenere una copia da u.Query()), puoi usarla per costruire l'URL e usare' u: = url.Parse ("http: // base. com/"); u.RawQuery = yourValues.Encode(); URL: = u.String() ' – OneOfOne
Bene, grazie. Ho fatto qualcosa di simile - {urlMap: = fare (mappa [stringa] string) \t urlMap [ "arg1"] = "val1" \t urlMap [ "arg2"] = "val2" \t url.Scheme = " http" \t url.Host = ip + ":" + DefaultPort \t q: = url.Query() \t per k, _: = gamma urlMap { \t \t q.Set (k, urlMap [k]) \t} \t url.RawQuery = q.Encode() \t fmt.Println (URL)} – psbits