如何将错误消息从C传递到Go?

I want to pass an error message from C code to Go stack. How I can accomplish this using an out parameter?

I'd really thankful if someone can help me.

Any C function (even void functions) may be called in a multiple assignment context to retrieve both the return value (if any) and the C errno variable as an error (use _ to skip the result value if the function returns void).

Then in your c code all you have to do is to set the “global” errno variable.

package main


// #include <errno.h>
// int fortytwo()
// {
//      errno = ENOENT;
//      return 42;
// }
import "C"
import "fmt"

func main() {

    n, err = C.fortytwo()
}