Go语言中结构体用于组合不同类型字段,定义使用type和struct,如type Person struct { Name string; Age int },字段首字母大写为公有,小写为私有。实例化可按字段名或顺序初始化,也可用new或&创建指针。通过.操作符访问字段,支持值接收者和指针接收者方法,实现数据行为封装。

在Go语言中,结构体(struct)是一种用户自定义的数据类型,用于将多个不同类型的数据字段组合在一起。它类似于其他语言中的“类”,但不支持继承。结构体是构建复杂数据模型的基础,常用于表示实体对象,如用户、订单等。
使用 type 和 struct 关键字来定义一个结构体类型:
type Person struct {
Name string
Age int
City string
}
上述代码定义了一个名为 Person 的结构体,包含三个字段:Name、Age 和 City。每个字段都有对应的类型。
字段名首字母大写表示公有(可被其他包访问),小写表示私有(仅在当前包内可见)。
立即学习“go语言免费学习笔记(深入)”;
有多种方式创建结构体实例:
p := Person{
Name: "Alice",
Age: 25,
City: "Beijing",
}
p := Person{"Bob", 30, "Shanghai"}
p := new(Person) p.Name = "Charlie" p.Age = 35
new 返回指向零值结构体的指针,所有字段为对应类型的默认值。
《PHP设计模式》首先介绍了设计模式,讲述了设计模式的使用及重要性,并且详细说明了应用设计模式的场合。接下来,本书通过代码示例介绍了许多设计模式。最后,本书通过全面深入的案例分析说明了如何使用设计模式来计划新的应用程序,如何采用PHP语言编写这些模式,以及如何使用书中介绍的设计模式修正和重构已有的代码块。作者采用专业的、便于使用的格式来介绍相关的概念,自学成才的编程人员与经过更多正规培训的编程人员
341
p := &Person{Name: "Diana", Age: 28}
这种方式常用于函数传参或赋值给接口。
通过点号(.)操作符访问结构体字段:
fmt.Println(p.Name) // 输出: Alice p.Age = 26 fmt.Println(p.Age) // 输出: 26
如果变量是指针类型,Go会自动解引用:
ptr := &p fmt.Println(ptr.Name) // 自动转为 (*ptr).Name
可以为结构体定义方法,实现特定行为:
func (p Person) Introduce() {
fmt.Printf("Hi, I'm %s, %d years old.\n", p.Name, p.Age)
}
func (p *Person) GrowUp() {
p.Age++
}
上面定义了两个方法:
调用方式:
p.Introduce() // Hi, I'm Alice, 25 years old. p.GrowUp() // Age 变为 26
以上就是Golang如何声明和使用结构体的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号