Canonical guidance

Use when

Avoid

Preferred pattern

package sqliteffi

/*
#cgo pkg-config: sqlite3
#include <sqlite3.h>
*/
import "C"

func Version() string {
	return C.GoString(C.sqlite3_libversion())
}

Anti-pattern

Explanation: This anti-pattern is tempting during fast integration work, but once C-facing details spread across packages the portability and maintenance costs multiply quickly.

Why

Sources