refactor: rename handler.go→greeting.go, buildGreeting() in hello-go example
This commit is contained in:
@@ -0,0 +1,30 @@
|
|||||||
|
package code
|
||||||
|
// Изменено: 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,
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
// Создано: 2026-03-11
|
|
||||||
// handler.go — пример Go serverless функции.
|
|
||||||
// Пакет должен называться handler, функция — Handle.
|
|
||||||
// event содержит тело POST запроса (распарсенный JSON) или метаданные GET (_path, _method, _query).
|
|
||||||
|
|
||||||
package handler
|
|
||||||
|
|
||||||
import "fmt"
|
|
||||||
|
|
||||||
// Handle — точка входа функции. Принимает event как map, возвращает любой тип (сериализуется в JSON).
|
|
||||||
func Handle(event map[string]interface{}) interface{} {
|
|
||||||
name, ok := event["name"].(string)
|
|
||||||
if !ok || name == "" {
|
|
||||||
name = "world"
|
|
||||||
}
|
|
||||||
return map[string]interface{}{
|
|
||||||
"message": fmt.Sprintf("Hello, %s! (Go 1.23)", name),
|
|
||||||
"runtime": "go1.23",
|
|
||||||
"event": event,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user