# 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
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://denglj.gitbook.io/essential-go/10-structs.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
