当前位置: 首页> 房产> 市场 > 广东省建设系统数据开放平台_网站备案查询官网入口_云建站_网站seo推广优化教程

广东省建设系统数据开放平台_网站备案查询官网入口_云建站_网站seo推广优化教程

时间:2025/7/15 23:01:58来源:https://blog.csdn.net/qq_42476938/article/details/143618938 浏览次数:0次
广东省建设系统数据开放平台_网站备案查询官网入口_云建站_网站seo推广优化教程

挪威特罗姆瑟夜景

🌈Don’t worry , just coding!
内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。

📗概念

在Go语言中,结构体嵌套(struct embedding)是一种强大的特性,它允许在一个结构体中嵌入另一个结构体,从而实现组合和复用。嵌套结构体可以让你创建更加复杂的数据结构,同时保持代码的简洁性和可读性。

💻代码

package mainimport "fmt"// type关键字定义base struct
type base struct {num int
}// 定义函数describe,输入一个base类型,输出一个string
func (b base) describe() string {return fmt.Sprintf("base with num=%v", b.num)
}// container结构嵌套base
type container struct {basestr string
}func main() {//使用字段初始化嵌套结构,指明了base//co是container的实例co := container{base: base{num: 1,},str: "some name",}//使用co.num 、co.str访问字段fmt.Printf("co={num: %v, str: %v}\n", co.num, co.str)//用全名访问字段co.base.numfmt.Println("also num:", co.base.num)//访问describe方法co.describe()fmt.Println("describe:", co.describe())//定义接口describer,内部调用describe方法type describer interface {describe() string}//实现接口,调用co结构,由于base已经被嵌套进来,可以直接实现base中的describe方法var d describer = cofmt.Println("describer:", d.describe())
}//输出go run post.go
//co={num: 1, str: some name}
//also num: 1
//describe: base with num=1
//describer: base with num=1

🔍理解

  • 被嵌套的结构体字段直接可以访问,方法可以直接被调用
  • 代码复用:可以将公共字段和方法定义在一个结构体中,然后在其他结构体中嵌套,避免重复代码。
  • 逻辑分组:将相关的字段组合在一起,使得数据结构更加清晰。
  • 简化访问:嵌套结构体的字段可以直接通过外部结构体访问,无需每次都指定嵌套结构体的名称。

💡 Tips小知识点

💪无人扶我青云志,我自踏雪至山巅。
在这里插入图片描述

关键字:广东省建设系统数据开放平台_网站备案查询官网入口_云建站_网站seo推广优化教程

版权声明:

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

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

责任编辑: