Linguagem

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 →
word_stats.go
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.

Veja também

Comece hoje

Pronto para rodar seus scripts?

Crie sua conta em segundos — sem instalar nada, sem configurar nada.
Comece a construir, testar e rodar seus scripts na hora.

  • Comece de graça
  • Sua infra ou nuvem
  • Pronto para produção