欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > 4.2 Go结构体(匿名、嵌套)

4.2 Go结构体(匿名、嵌套)

2025/9/15 9:19:43 来源:https://blog.csdn.net/fanhonooo/article/details/145808076  浏览:    关键词:4.2 Go结构体(匿名、嵌套)

一、匿名结构体

在Go语言中,匿名结构体和匿名成员(字段)提供了非常灵活的方式来处理数据。

1、匿名函数应用场景

快速使用一个类型,构造一个实例,只调用一回,没有名称只能调用一次。

2、定义匿名结构体

package mainimport "fmt"func main() {server := struct {id intsn stringip string}{id: 1024, sn: "E9527", ip: "192.168.101.100"}//fmt.Println(server)fmt.Println(server.id, server.sn, server.ip)
}
  • 使用场景:临时数据存储、快速开发原型、函数返回类型等。
  • 优点:简洁、灵活。
  • 缺点:不可复用、可读性差、扩展困难。

二、匿名成员(字段)

匿名成员是结构体字段没有名字的成员,它们是通过嵌入其他结构体或类型来实现的。

package mainimport "fmt"type Address struct {City string
}type Person struct {Name    stringAge     intAddress // 匿名成员,类型嵌入
}func main() {person := Person{Name: "ops-9527",Age:  22,Address: Address{City: "北京",},}fmt.Println(person)fmt.Println(person.Name, person.Age, person.City)}

打印结果

ops-9527 22 北京

希望通过嵌入一个结构体来避免多次重复字段名,匿名成员能让你更简洁地访问嵌入结构体的字段。

  • 使用场景:组合关系、简化代码、模拟继承等。
  • 优点:简洁、可组合、模拟继承。
  • 缺点:容易冲突、可读性差、不适用于所有场景。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词