package main

import (
    "fmt"
)

type Person struct {
    name string
    sex byte
    age int
}

type Student struct {
    Person    //只有名字,没有字段,这里student相当于继承了person的所有字段,就有点像是继承了
    id int
    addr string
}

func main() {
    //来一个顺序初始化
    }, , "NJ"}
    fmt.Println("s1 = ", s1)
    //再来一个自动推导类型
    s2 := Student{Person{}, , "NJ"}
    fmt.Printf("s2 = %+v\n", s2) //这里是打印出详细的方式
    //上面是顺序自动推导,再来一个不一样的
    s3 := Student{Person:Person{name: }, id:}
    fmt.Printf("s3 = %+v\n", s3)
}

执行的结果

s1 =  {{baylor  }  NJ}
s2 = {Person:{name:baylor sex: age:} id: addr:NJ}
s3 = {Person:{name:baylor sex: age:} id: addr:}

一定要记住的是Person也是一个结构体,那么在通过匿名字段进行初始化的时候一定要指定Person,造成不要写成

s1 := Student{, , "NJ"}

====================华丽的分隔线 ====================

匿名函数成员的操作

package main

import (
    "fmt"
)

type Person struct {
    name string
    sex byte
    age int
}

type Student struct {
    Person    //只有名字,没有字段,这里student相当于继承了person的所有字段,就有点像是继承了
    id int
    addr string
}

func main() {
    }, , "NJ"}
    //进行一个取值
    fmt.Println("s1.name = ", s1.name)
    //进行赋值
    s1.name = "mike"
    s1.sex = 'm'
    s1.age =
    s1.id =
    s1.addr = "NJ"
    fmt.Println("s1 = ", s1)
    //进行匿名字段的赋值
    s1.Person = Person{}
    fmt.Println("s1 = ", s1)
}

执行的结果

s1.name =  baylor
s1 =  {{mike  }  NJ}
s1 =  {{yoyo  }  NJ}

最新文章

  1. [转]在Ubuntu 14.04安装和使用Docker
  2. Runtime消息传送
  3. 《ASP.NET1200例》嵌套在DataLisT控件中的其他服务器控件---DropDownList控件的数据绑定
  4. php二叉树算法
  5. hdu 2063 过山车(匈牙利算法模板)
  6. 使用GPS经纬度定位附近地点(某一点范围内查询)
  7. Windows7里的“计算器”你真的会用吗?
  8. 12.js如何将明文转为MD5
  9. Unix中的I/O模型
  10. 【深度学习篇】--神经网络中的池化层和CNN架构模型
  11. [C++]PAT乙级1008.数组元素循环右移问题 (20/20)
  12. jinfo
  13. Windows消息【一】 消息队列
  14. HBase数据库集群配置【转】
  15. IDEA 在某个工程下一个module如何使用另一个module中的资源文件(.xml .prop等)
  16. java程序员修炼之道——大牛告诉我们应该好好学习与修炼以下知识与技能
  17. (转)Xsl 的Webshell(aspx)版本
  18. decorator & generator & iterator
  19. Metasploit自动化脚本Ezsploit
  20. 弱类型dynamic与var

热门文章

  1. Jetty实战(杂七杂八)
  2. HDU 1166 敌兵布阵 (线段树模版题)
  3. 云服务器 ECS Linux 软件源自动更新工具
  4. (转)Docker volume plugin - enabled create local volume on docker host
  5. Windows下编译sqlite3
  6. struts2的搭建和简单的例子(采用struts-2.5.2版本)
  7. Defining Python Source Code Encodings
  8. DOM笔录
  9. [Z]Password-based encryption in Java: salt and key derivation
  10. Easyui Datagrid 的Combobox 如何动态修改下拉选项,以及值的转换