# 18.4 结构体 创建: ```go type struct1 struct { field1 type1 field2 type2 … } ms := new(struct1) ``` 初始化: ```go ms := &struct1{10, 15.5, "Chris"} ``` 当结构体的命名以大写字母开头时,该结构体在包外可见。 通常情况下,为每个结构体定义一个构建函数,并推荐使用构建函数初始化结构体(参考[例10.2](examples/chapter_10/person.go)): ```go ms := Newstruct1{10, 15.5, "Chris"} func Newstruct1(n int, f float32, name string) *struct1 { return &struct1{n, f, name} } ``` ## 链接 - [目录](directory.md) - 上一节:[映射](18.3.md) - 下一节:[接口](18.5.md)