Nothing new or special regarding CGO. I have been exploring it lately and it took me some time to understand its deep aspects, mostly on passing Go callbacks to C. And I wanted to keep close some full examples.
I created a small repository on GitHub which shows interactions of Go code with a C library (included) by passing and/or receiving numbers, strings, byte arrays, structs, enums, and calling Go functions from the C library.
Sources of inspiration and learning:
See the GitHub repository with the CGO examples and compile the code yourself on your machine or inside the Docker environment you’ll find there.