I've written a lot wrappers using Python's C API and a bunch wrappers using cgo and cgo is light years ahead.
For a real-world comparison see this Sqlite wrapper for Go at http://code.google.com/p/gosqlite/source/browse/sqlite/sqlit... and compare it to a similar wrapper for Python at http://code.google.com/p/pysqlite/source/browse/#hg%2Fsrc. The Go wrapper isn't a "magic demo", it's code that works reliably in production.
The bottom line is that cgo lets me quickly write production quality C wrappers for Go using Go itself.
I've written a lot wrappers using Python's C API and a bunch wrappers using cgo and cgo is light years ahead.
For a real-world comparison see this Sqlite wrapper for Go at http://code.google.com/p/gosqlite/source/browse/sqlite/sqlit... and compare it to a similar wrapper for Python at http://code.google.com/p/pysqlite/source/browse/#hg%2Fsrc. The Go wrapper isn't a "magic demo", it's code that works reliably in production.
The bottom line is that cgo lets me quickly write production quality C wrappers for Go using Go itself.