Pular para o conteúdo

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.

46-extern-go.zolo
Playground
// 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.

Visão geral da referência

Índice global

Encontre seu caminho pela Zolo

Experimente uma ideia

Comece por aqui

9 resultados

9 resultados

enespt-br