Sobes.tech
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(&quote); err != nil {
        return nil, err
    }
    return &quote, 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.