360免费建站方法,微信商城怎么开店,网站开发后端待遇,哪里有网站建设多少钱每次学习并整理一个Golang的知识点#xff0c;每天进步一点点。今天学习一个go结构体嵌套的知识点。日省吾身1.下面这段代码的输出结果#xff1f;func main() { a : -7 b : 7 fmt.Printf(%d %d, a, b)}A. -7 7B. 7 7C. 7 7D. 7 -72.判断下面代码是否…每次学习并整理一个Golang的知识点每天进步一点点。今天学习一个go结构体嵌套的知识点。日省吾身1.下面这段代码的输出结果func main() { a : -7 b : 7 fmt.Printf(%d %d, a, b)}A. -7 7B. 7 7C. 7 7D. 7 -72.判断下面代码是否能正常执行如果可以写出输出结果type People struct{}func (p *People) ShowA() { fmt.Println(showA) p.ShowB()}func (p *People) ShowB() { fmt.Println(showB)}type Teacher struct { People}func (t *Teacher) ShowB() { fmt.Println(teacher showB)}func main() { t : Teacher{} t.ShowB() t.ShowA()}要有自己的思考哦思考后看下方答案…答疑解惑参考答案1. A %d 表示带符号的整型%d表示输出十进制数字表示输出数值的符号; fmt.Printf(%d, 255)结果输出为2552. 输出结果见下 知识点结构体嵌套teacher showBshowAshowB结构体Teacher中又嵌套了另外一个结构体:People在嵌套结构体中People 称为内部类型Teacher 称为外部类型通过嵌套内部类型的属性、方法可以为外部类型所有就好像是外部类型自己的一样。此外外部类型还可以定义自己的属性和方法当外部类型方法名与内部类型相同时内部类型的方法就会被“屏蔽”优先使用外部类型自己的方法。这个例子中的 ShowB() 就是同名方法所以调用了Teacher的ShowB()方法输出teacher showB”;t.ShowA()由于Teacher 没有自己的 ShowA()方法所以调用内部类型 People 的同名方法而People的ShowA()方法中又调用了自己的ShowB()方法所以t.ShowA()的输出结果为:showA showB;以上你做对了吗其他相关答案或补充知识点欢迎在评论区留言补充扩展阅读匿名字段结构体中的字段可以不给名称这时称为匿名字段。匿名字段的名称强制和类型相同。例如type person struct {name stringage int}type teacher struct {personintschool string}上面teacher中有两个匿名字段person和int匿名字段的名称和类型相同等价于type teacher struct {person personint intschool string}跟题2类似teacher中嵌套了其他结构体(person)。其中teacher就称为外部structperson就称为内部struct下期提问下面代码的输出结果func hello(n int) {fmt.Println(n)}func main() {n : 5defer hello(n)n n 10}答案及解析将在下期文章中给出欢迎大家在评论区留言独乐乐不如众乐乐交流学习互相进步。欢迎转发和评论。更多优质原创文章欢迎关注微信公众号“IYue爱月”。