Artem Krylysov

Posts tagged with cgo

Handling C++ exceptions in Go

Cgo is a mechanism that allows Go packages call C code. The Go compiler enables cgo for every .go source file that imports a special pseudo package "C". The text in the comment before the import "C" line is treated as a C code. You can include headers, define functions, types and variables - everything a normal C code can do:

package main

#include <stdio.h>

void foo(int x) {
    printf("x: %d\n", x);
import "C"

func main() { // x: 123