18 · Módulos
Go · Go · cgo
Prepare exports Go com cgo e um compilador C compatível. Funções tipadas, structs públicos copiados e módulos usam a ponte comum. Artefatos preparados dispensam Go e o cache de módulos; receivers retidos e variádicos exigem adapters.
Nesta página
Execute localmente com o plugin e runtime correspondentes. Estes exemplos não rodam no playground do navegador.
Go / Go · cgo.
// parity-timeout-ms:300000
use plugin go::{go}
extern go fn exact(value: int) -> int {
return value
}
extern go fn upper(value: str) -> str {
import "strings"
return strings.ToUpper(value)
}
extern go async fn later(value: int) -> int {
return value + 1
}
extern go from "./go_fixtures/math.go" use {Add}
print(exact(9007199254740993)) // expected: 9007199254740993
print(upper("hello Go")) // expected: HELLO GO
print(Add(left: 20, right: 22)) // expected: 42
print(await later(41)) // expected: 42
Requer a CLI/host do Zolo — abra no playground ou rode localmente.
Preparação e distribuição
O empacotamento sem fontes pode preservar artefatos estrangeiros preparados, mas não remove dependências de runtime ou plataforma. Hospedagem na VM, native e LLVM está coberta; bindings estrangeiros rejeitam alvos WebAssembly não suportados. A aceitação recente dos providers cobre Windows x64. Python está verificado especificamente com CPython 3.12; outras plataformas precisam de validação própria.