cgo résultat a aller pointeur

J’écris du code go qui exporte une fonction comme celle-ci:

package main import "C" //export returnSsortingng func returnSsortingng() ssortingng { // gossortingng := "hello world" return gossortingng } func main() {} 

Je construis le fichier .so et le fichier d’en-tête en utilisant go build -buildmode = c-shared, mais lorsque j’appelle returnSsortingng () dans mon code C, j’obtiens “panique: erreur d’exécution: le résultat cgo a un pointeur Go”

Y a-t-il un moyen de faire cela en go 1.9?

    Vous devez convertir votre chaîne Go en *C.char . C.Cssortingng est une fonction d’utilité pour cela.

     package main import "C" //export returnSsortingng func returnSsortingng() *C.char { gossortingng := "hello world" return C.CSsortingng(gossortingng) } func main() {}