構造体のメンバーは「フィールド」と呼ばれることもあり、これらのフィールドには次の特性があります。
- フィールドには独自の型と値があります。
- フィールド名は一意である必要があります。
- フィールドの型は構造体にすることも、フィールドが含まれる構造体の型にすることもできます。
キーワードtypeを使用すると、さまざまな基本型をユーザー定義型として定義できます。基本型には、整数、文字列、ブール値などが含まれます。構造体は複合基本型であり、型を通じてカスタム型として定義した後で使用する方が簡単です。
構造体の定義形式は以下のとおりです。
type タイプ名 struct {
フィールド 1 フィールド 1 タイプ
フィールド 2 フィールド 2 タイプ
…
}
各部の説明:
- タイプ名: カスタム構造を識別する名前。同じパッケージ内で繰り返すことはできません。
- struct{}: 構造体の型を示します。
type 类型名struct{}
struct{} 構造体を型名として定義した型と理解できます。 - フィールド 1、フィールド 2…: 構造体のフィールド名を示します。構造体のフィールド名は一意である必要があります。
- フィールド 1 タイプ、フィールド 2 タイプ…: 構造体の各フィールドのタイプを示します。
構造体を使用して、X および Y 整数コンポーネントを含むポイント構造体を表すことができます。コードは次のとおりです。
type Point struct {
X int
Y int
}
同じ型の変数を 1 行で記述することもでき、色の赤、緑、青の成分をバイト型で表現できます。定義された色の構造は次のとおりです。
type Color {
R、G、B byte
}
構造体の定義は、メモリ レイアウトの単なる記述です。構造体がインスタンス化される場合にのみ、メモリが割り当てられます。