Senior
Kā jūs sadarbojāties ar kotēšanas nodrošinātāju? Kā jūs saņēmāt datus?
sobes.tech AI
Atbilde no AI
Lai sadarboties ar cenu nodrošinātāju Go valodā, parasti tiek izmantots HTTP klients, kas veic pieprasījumus uz nodrošinātāja API. Dati var tikt saņemti JSON vai XML formātā, kas tiek analizēti ar standarta bibliotēkām encoding/json vai encoding/xml.
Piemērs datu iegūšanai no nodrošinātāja API:
package main
import (
"encoding/json"
"fmt"
"net/http"
"time"
)
type Quote struct {
Symbol string `json:"symbol"`
Price float64 `json:"price"`
}
func getQuote(symbol string) (*Quote, error) {
client := &http.Client{Timeout: 10 * time.Second}
url := fmt.Sprintf("https://api.provider.com/quotes/%s", symbol)
resp, err := client.Get(url)
if err != nil {
return nil, err
}
defer resp.Body.Close()
var quote Quote
if err := json.NewDecoder(resp.Body).Decode("e); err != nil {
return nil, err
}
return "e, nil
}
func main() {
quote, err := getQuote("AAPL")
if err != nil {
panic(err)
}
fmt.Printf("Symbol: %s, Price: %.2f\n", quote.Symbol, quote.Price)
}
Taip pat, norint gauti datus reāllaikā, var izmantot WebSocket savienojumus, ja tos atbalsta nodrošinātājs, kas ļauj saņemt atjauninājumus bez pastāvīgiem pieprasījumiem.
Svarīgi ir pārvaldīt kļūdas, atkārtotus mēģinājumus un kešatmiņu, lai uzlabotu uzticamību un veiktspēju.