Minimal, idiomatic Go client for OpenExchangeAPI
- All endpoints supported
- API key is optional
- Returns Go structs for all responses
- Uses
context.Context
for all public methods - Clear error handling
go get github.com/openexchangeapi/openexchangeapi-go
package main
import (
"context"
"fmt"
"github.com/openexchangeapi/openexchangeapi-go"
)
func main() {
client := openexchangeapi.NewClient("") // API key optional
ctx := context.Background()
// Get latest rates
latest, err := client.GetLatest(ctx, nil)
if err != nil {
panic(err)
}
fmt.Println(latest)
// Convert currency
result, err := client.Convert(ctx, "USD", "EUR", 100)
if err != nil {
panic(err)
}
fmt.Println(result)
}
GetLatest(ctx, base)
GetLatestPrecise(ctx, base)
GetHistorical(ctx, date, base)
GetHistoricalPrecise(ctx, date, base)
Convert(ctx, from, to, amount)
ConvertPrecise(ctx, from, to, amount)
ListCurrencies(ctx, type)
GetCurrency(ctx, code)
All methods return Go structs and errors.
All errors are returned as error
values. Check errors as usual in Go.
MIT