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


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
