30 lines
1.2 KiB
Go
30 lines
1.2 KiB
Go
// Изменено: 2026-03-11
|
||
// greeting.go — пример Go функции: возвращает приветствие.
|
||
//
|
||
// ТРЕБОВАНИЕ РАНТАЙМА: пакет должен называться handler, точка входа — Handle.
|
||
// Вся бизнес-логика — в отдельных функциях с нормальными именами.
|
||
|
||
package handler
|
||
|
||
import "fmt"
|
||
|
||
// buildGreeting — формирует текст приветствия для указанного имени гостя.
|
||
func buildGreeting(guestName string) string {
|
||
return fmt.Sprintf("Hello, %s! (Go 1.23)", guestName)
|
||
}
|
||
|
||
// Handle — точка входа, вызывается рантаймом на каждый запрос/событие.
|
||
// Не переименовывать: это жёсткий контракт рантайма (server.go вызывает handler.Handle).
|
||
func Handle(event map[string]interface{}) interface{} {
|
||
guestName, ok := event["name"].(string)
|
||
if !ok || guestName == "" {
|
||
guestName = "world"
|
||
}
|
||
|
||
return map[string]interface{}{
|
||
"message": buildGreeting(guestName),
|
||
"runtime": "go1.23",
|
||
"event": event,
|
||
}
|
||
}
|