Вопрос пользователя:
Ответ нейросети:
package main
import (
"fmt"
"net/http"
"time"
)
var fibMemo = map[int]int{
0: 0,
1: 1,
}
func fibonacci(n int) int {
if val, ok := fibMemo[n]; ok {
return val
}
fibMemo[n] = fibonacci(n-1) + fibonacci(n-2)
return fibMemo[n]
}
func fibonacciHandler(w http.ResponseWriter, r *http.Request) {
start := time.Now()
n := fibonacci(10) // Вычисляем 10-ое число Фибоначчи
fmt.Fprintf(w, "10th Fibonacci number: %d\n", n)
elapsed := time.Since(start)
fmt.Printf("Request processed in %s\n", elapsed)
}
func metricsHandler(w http.ResponseWriter, r *http.Request) {
// Возвращаем число запросов, которые сделаны за числом Фибоначчи
n := fibonacci(10)
fmt.Fprintf(w, "Number of requests made: %d\n", n)
}
func main() {
http.HandleFunc("/", fibonacciHandler)
http.HandleFunc("/metrics", metricsHandler)
fmt.Println("Server listening on port 8080")
http.ListenAndServe(":8080", nil)
}
Этот веб-сервер будет вычислять 10-ое число Фибоначчи при каждом обращении к /
и возвращать его, а также выводить время обработки запроса. При обращении к /metrics
будет возвращаться число запросов, которые сделаны за числом Фибоначчи.
Напишите нам, если в вопросе есть ваши персональные данные ([email protected])
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.