码迷,mamicode.com
首页 > 其他好文 > 详细

33_同名字段的使用

时间:2019-09-21 23:40:56      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:默认   package   操作   imp   初始   family   fun   自定义   style   

在结构体中,如果结构体中含有继承父结构体,如果含有同名的字段,除了指明具体属于哪个结构体的字段外,默认操作:就近原则

package main

import "fmt"

//定义一个结构体,存储学生信息
//要想被不同的包调用结构体,则结构体的名字首字母要大些,里面的变量名也要大写
type Student struct {
	//和变量定义不同,不要写var关键字
	Id   int
	Name string
	Sex  byte
	Age  int
	Addr string
}
type mystr string
type Person struct {
	//继承student结构体
	Student //所谓匿名字段,就是只写结构体(变量)名字,而不写其类型
	Name    string
	string  //匿名字段,内置类型
	mystr   //自定义字段
}

func main() {
	var p3 Person
	p3.Name = "zhao"
	fmt.Println("p3=", p3) //p3= {{0  0 0 } zhao  }

	//操作继承的同名字段
	p3.Student.Name = "wang"
	fmt.Println("p3=", p3) //p3= {{0 wang 0 0 } zhao  }

	//初始化
	p4 := Person{Student{1, "li", ‘w‘, 24, "sd"}, "hao", "jia", "steven"}
	fmt.Println("p4=", p4) //p4= {{1 li 119 24 sd} hao jia steven}
	fmt.Println(p4.mystr)  //steven

}

33_同名字段的使用

标签:默认   package   操作   imp   初始   family   fun   自定义   style   

原文地址:https://www.cnblogs.com/zhaopp/p/11565224.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!