Go では、CGO パッケージにより Go と C コード間の通信が容易になります。一般的なシナリオの 1 つは、Go 文字列を C char ポインターにコピーすることです。
これを実現するには、C.CString 関数を使用する必要があります。この関数は、C 文字列にメモリを割り当て、それへのポインタを返します。構文は次のとおりです。
cstr = C.CString(str)
ここで、str は Go 文字列、cstr は C char ポインタです。
ただし、C.CString によって割り当てられるメモリは次のとおりである必要があることに注意してください。手動で解放されます。これを行うには、次のコマンドを使用できます:
C.free(unsafe.Pointer(cstr))
ここで、cstr は、以前に作成した C char ポインタです。
以上がCGO を使用して Go 文字列を C char ポインターにコピーするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。