• 34_结构体指针类型的使用


    package main
    
    
    import "fmt"
    
    
    //定义一个结构体,存储学生信息
    //要想被不同的包调用结构体,则结构体的名字首字母要大些,里面的变量名也要大写
    type Student struct {
    	//和变量定义不同,不要写var关键字
    	Id   int
    	Name string
    	Sex  byte
    	Age  int
    	Addr string
    }
    type Person struct {
    	//继承student结构体
    	*Student //所谓匿名字段,就是只写结构体(变量)名字,而不写其类型
    
    
    	Hobby   string
    	Country string
    }
    
    
    func main() {
    
    
    	p1 := Person{&Student{1, "zhao", 'm', 24, "js"}, "basketball", "china"}
    	fmt.Println("p1=", p1) //p1= {10a957e00x basketball china}
    	//同过.运算来操作指针继承对象
    	fmt.Printf("p1.Id=%d,p1.Name=%s
    ", p1.Id, p1.Name) //p1.Id=1,p1.Name=zhao
    
    
    	//声明一个指针类型的结构体类型
    	var p2 Person
    	p2.Student = new(Student) //给指针开辟一个空间

        //p2.Name和(*p).Name是等价的
    	p2.Name = "steven"
    	p2.Age = 22
    	p2.Sex = 'w'
    	p2.Hobby = "pingpang"
    	fmt.Println(p2.Name, p2.Age, p2.Sex, p2.Hobby) //steven 22 119 pingpang
    
    
    }
    每天的价值就是不停息的前进!!!
  • 相关阅读:
    Windows 7 远程协助
    Windows 7 帮助和支持资源—第三方网站
    Windows 7 帮助和支持资源—第三方软件
    数据结构-队列
    数据结构-栈
    pycharm每日技巧-2
    数据结构-链表
    时间处理-1
    二维数组的排序
    《疯狂的简洁》书摘
  • 原文地址:https://www.cnblogs.com/zhaopp/p/11565272.html
Copyright © 2020-2023  润新知