使用の構造体:
図1は、複雑なデータ構造をカスタマイズするために使用しました
複数のフィールドを含むことができる。2.構造体(属性)
3.構造体のタイプは、メソッド、注意と機能を区別するために定義することができます。
前記構造体のタイプは、値型であります
5.構造体型を入れ子にすることができます
6.ゴー言語はクラス型ではない、唯一のタイプstruct
構造体宣言:
タイプ識別子{構造体 FIELD1タイプ フィールド2タイプ } 例: タイプstruct {生徒 名文字列 年齢int型 スコアINT }
構造体のフィールドでの訪問:と他の言語、使用のポイント
VaRのSTU学生 stu.Name =「トニー」 stu.Age = 18 stu.Score = 20 fmt.Printf(「名前=%sの年齢=%dのスコア=%dの」、stu.Name、stu.Age、stu.Score )
構造体の3つの形式が定義されました:
STUの学生た STU *スチューデント=新しい(学生)であった } STU *スチューデントあっ=&学生{
b及びcは、構造、アクセス次の形式へのポインタを返される、請求
stu.Name、stu.Ageとstu.Scoreか(* STU).nameの、(* STU).Ageのような
構造体のメモリレイアウト:メモリ内のすべてのフィールド構造体、次のようなレイアウトに連続しています。
構造体のリスト:
リストの定義:
型学生のstruct { Nameストリング 次に*スチューデント }
通常、リストの最初のノードがリストのヘッドと呼ばれ、一緒に文字列のすべてのノードように、各ノードは、次のノードのアドレスが含まれています