Условие
Веб-сервис конвертации валют с периодическим обновлением данных в фоне:
package main
import (
"fmt"
"log"
"net/http"
"time"
)
// FIXME:
func main() {
rates, err := readConversionRates()
if err != nil {
log.Fatalf("read intial conversion rates values: %s", err)
}
// background task to update conversion rates
go func() {
for {
time.Sleep(time.Minute)
rates, err = readConversionRates()
if err != nil {
log.Printf("ERR: update conversion rates: %s", err)
}
}
}()
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
// parse 'from' and 'value' from query params
from := "RUB"
val…