Я создал функцию, которая перечисляет загруженные файлы:
func L(w http.ResponseWriter, r *http.Request) {
var files []string
err := filepath.Walk(".", func(path string, info os.FileInfo, err error) error {
files = append(files, path)
return nil
})
if err != nil {
panic(err)
}
for _, file := range files {
fmt.Fprintln(w, file)
}
}
Она выводит:
.
go.mod
go.sum
main.go
serverless_function_source_code
serverless_function_source_code/f.go
serverless_function_source_code/go.mod
serverless_function_source_code/test.tmpl
Переписывание функции с использованием шаблона:
tmpl, err := template.New("test.tmpl").ParseFiles("serverless_function_source_code/test.tmpl")
Работает!
Однако это недокументировано и является хакерским приемом: - (
Альтернативой является встраивание шаблонов в виде строк в файлы Golang.
Я рекомендую отправить запрос функции в Google Issue Tracker для Cloud Functions