> For the complete documentation index, see [llms.txt](https://denglj.gitbook.io/essential-go/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://denglj.gitbook.io/essential-go/10-structs.md).

# 10 结构体(Struct)

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

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

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

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

结构体基本声明方式：

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