string
Go の a は、char*
C の a (または a char[]
) または C++ のクラスstring
のようなものですか?
文字列がプリミティブ型になる方法がわかりません。
string
Go の a は、char*
C の a (または a char[]
) または C++ のクラスstring
のようなものですか?
文字列がプリミティブ型になる方法がわかりません。
go の文字列は、C ではこの構造体で表されます。
struct String
{
byte* str;
intgo len;
};
ポインターは実際のstr
文字列データを指しますが、これは null で終了しません。長さはlen
メンバーに保持されます。
したがって、C の用語では、go 文字列はプリミティブ型とはかけ離れたものであり、ポインター、長さ、およびメモリ領域です。
ただし、Go は C ではなく、これらの実装の詳細はすべて Go プログラムからは見えません。Go では、文字列はプリミティブな不変型です。