違いはなく、2つのタイプが同じです。
a := struct {
a, b, c uint32
d uint32
}{}
b := struct {
a uint32
b uint32
c uint32
d uint32
}{}
fmt.Printf("%T\n%T\n", a, b)
fmt.Println(reflect.TypeOf(a) == reflect.TypeOf(b))
出力(Go Playground上でそれを試してみてください):あなたは論理的に一緒に所属するグループフィールドに同じ行に複数のフィールドを置いてもよい
struct { a uint32; b uint32; c uint32; d uint32 }
struct { a uint32; b uint32; c uint32; d uint32 }
true
確認するには
は、この例を参照してください例えば、
type City struct {
Name string
lat, lon float64
}
type Point struct {
X, Y float64
Weight float64
Color color.Color
}
引用符Spec: Struct types:
構造体は、名とタイプをそれぞれ有するシーケンスフィールドと呼ばれる名前付き要素の、です。
3の構造体を定義するものは、変更だけの事は、あなたがそれらを置く行の「数」であれば同じになるすべて:
- 注文が同じ(シーケンス)になります
- 名前は同じ
- タイプが同じ
になりますでしょう