# 10 结构体(Struct)

结构体的作用是将多个相关变量聚合到单个实体。

此外，结构体可以具有方法，类似C++或Java的Class。

跟C++和Java的Class不同，Go结构体不支持继承。但您可以利用[结构体嵌套](https://denglj.gitbook.io/essential-go/10-structs/composition-and-embedding)的方式实现代码复用。

一个结构体的[零值](https://denglj.gitbook.io/essential-go/02-basic-types/ling-zhi)也是个结构体，其字段都被设置为各自的零值。

结构体基本声明方式：

```go
type MyStruct struct {
	IntVal           int
	StringVal        string
	unexportedIntVal int
}
```
