Rode scripts Go online, compilados e em cache para você
Escreva package main com func Main e o Waiso compila com o toolchain do Go, guarda o binário em cache e o roda em um sandbox isolado. Depois agende, chame por HTTP ou encadeie em um fluxo.
func Main, não func main
Main tem M maiúsculo porque o Waiso fornece o main de verdade. Cada parâmetro é uma entrada tipada pelo tipo do Go, ligada pela ordem. Devolva (valor, error): um error não nulo faz a execução falhar.
Saiba mais →package main
import (
"fmt"
"strings"
)
func Main(text string, minLength int) (any, error) {
long := 0
for _, w := range strings.Fields(text) {
if len(w) >= minLength {
long++
}
}
fmt.Printf("%d long words\n", long)
return map[string]int{"long": long}, nil
}
A biblioteca padrão e o waiso.dev/waiso
Scripts Go não instalam módulos: usam a biblioteca padrão e a biblioteca do Waiso, importada como waiso.dev/waiso, com waiso.Run, waiso.Flow e waiso.StateGet.
Saiba mais →Um binário atrás de um endpoint
Publique e o script compilado responde a um endpoint HTTP, roda agendado ou vira uma etapa de fluxo cujas entradas são ligadas às saídas de etapas anteriores.
Saiba mais →Perguntas
O meu código Go é compilado a cada execução?
Não. O binário compilado fica em cache, então uma segunda execução do mesmo código pula o compilador.
Posso adicionar módulos Go de terceiros?
Não. Só a biblioteca padrão e a biblioteca do Waiso estão disponíveis para um script Go.
Que tipos um parâmetro pode ter?
string, int, float64 e bool, além de slices, maps e structs para listas e objetos JSON.