refactor: rename handler.go→greeting.go, buildGreeting() in hello-go example

This commit is contained in:
“Naeel”
2026-03-11 16:02:49 +04:00
parent a709b38f6b
commit 78d11aeb26
2 changed files with 30 additions and 21 deletions
+30
View File
@@ -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,
}
}
-21
View File
@@ -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,
}
}