Go 语言学习手册
免费学习
完整知识体系
快速检索
Go语言学习手册《结构体(struct)的定义与初始化》:结构体是 Go 中组织数据的主要方式,类似其他语言的类,但不支持继承。 **定义结构体:** ```go type Person struct { Name string Age int City string ...
结构体与方法
结构体(struct)的定义与初始化
【详细说明 & 代码示例】
结构体是 Go 中组织数据的主要方式,类似其他语言的类,但不支持继承。
**定义结构体:**
```go
type Person struct {
Name string
Age int
City string
}
```
**创建实例:**
```go
// 字面量(顺序)
p1 := Person{"Alice", 30, "Beijing"}
// 字段名方式(推荐)
p2 := Person{Name: "Bob", Age: 25, City: "Shanghai"}
// new 返回指针
p3 := new(Person)
p3.Name = "Charlie"
// 取地址
p4 := &Person{Name: "Diana"}
```
**结构体嵌套(组合):**
```go
type Address struct {
Street string
City string
}
type Employee struct {
Person // 匿名嵌入,字段提升
Salary float64
Address // 另一个嵌入
}
e := Employee{Person: Person{Name: "John"}, Salary: 50000}
fmt.Println(e.Name) // 可直接访问 Person 的 Name
```
**结构体标签(Tag):** 用于序列化/反序列化(如 JSON)。
```go
type User struct {
ID int `json:"id"`
Name string `json:"name,omitempty"`
}
```
学习提示:建议安装 Go 环境(go.dev/dl),使用 VS Code 或 GoLand 编写代码,并熟练使用 go run、go build、go mod 等命令。
全部章节目录(共 30 个知识点)
Go 基础 (1个知识点)
变量与数据类型 (2个知识点)
控制流程 (2个知识点)
结构体与方法 (2个知识点)
接口(interface) (1个知识点)
指针 (1个知识点)
错误处理 (1个知识点)
包管理 (1个知识点)
并发:goroutine (1个知识点)
并发:channel (1个知识点)
同步原语 (1个知识点)
标准库 (2个知识点)
网络与 HTTP (1个知识点)
测试与性能 (1个知识点)
反射与泛型 (1个知识点)
CGO 与汇编 (1个知识点)
Web 框架 (1个知识点)
数据库操作 (1个知识点)
配置与日志 (1个知识点)
部署与运维 (1个知识点)
设计模式 (2个知识点)
进阶技巧 (2个知识点)
使用说明
- • 本手册涵盖 Go 语言从基础到并发实战、Web 服务的完整知识体系
- • 在搜索框输入关键词,快速定位相关知识点
- • 点击条目标题进入详情页,查看详细说明与代码示例
- • 页面按分类展示所有知识点,方便系统性学习
- • 建议安装 Go 环境并使用 VS Code 或 GoLand 进行实践