package main

import (
    "fmt"
)

type Person struct {
    name string
    sex byte
    age int
}

type Student struct {
    Person    //只有名字,没有字段,这里student相当于继承了person的所有字段,就有点像是继承了
    id int
    addr string
    name string //这里跟person里的字段同名了,那么被使用的时候,操作是studnet还是persion里的name ?
                //这里也是遵守作用域的就近规则
}

func main() {
    var s Student
    s.name = "mike"
    fmt.Printf("s = %+v\n", s)//通过打印就可以知道它操作的是student里的name,同样适用作用域的就近规则,如果没有找到,则找继承
    //那么如果就是想操作person里的name呢?
    s.Person.name = "baylor"
    fmt.Printf("s = %+v\n", s)
}

扫行的结果为

s = {Person:{name: sex: age:} id: addr: name:mike}
s = {Person:{name:baylor sex: age:} id: addr: name:mike}

[GO]匿名字段的同名字段操作的更多相关文章

  1. go语言之进阶篇同名字段

    1.同名字段 示例: package main import "fmt" type Person struct { name string //名字 sex byte //性别, ...

  2. hessian接口参数,子类与父类不能有同名字段解决方法

    hessian默认是使用 com.caucho.hessian.io.JavaSerializer 序列化,同名字段子类字段值被赋值两次,最终用父类null值赋给了子类同名字段,解决方法就是 指定序列 ...

  3. 关于left join连接查询 两张表里有同名字段的问题

    左连接查询在开发中很常用,但有个问题常常会遇到,两个表中有同名字段时,比如左右表都有一个id字段,会造成查询结果中左表的id值被右表的id值覆盖掉(大部分php框架都是这个效果),而且还不会报错,容易 ...

  4. 帝国cms调用栏目自定义字段(栏目简介)如何操作

    开源的cms就像一个操作系统,可以满足大部分人的需求,如果你想增加一些特殊的功能,那就二次开发呗,就像APP一样.帝国cms默认的栏目是没有调用栏目自定义字段的,我们可以增加一些概述类的文字,让读者对 ...

  5. Django---ORM的常用字段和自定义字段,DjangoORM字段与数据库类型对应,字段参数和Meta的参数,Django的admin操作,13中orm操作方法,单标的双下方法

    Django---ORM的常用字段和自定义字段,DjangoORM字段与数据库类型对应,字段参数和Meta的参数,Django的admin操作,13中orm操作方法,单标的双下方法 一丶ORM常用字段 ...

  6. 6月20日 Django中ORM介绍和字段、字段参数、相关操作

    一.Django中ORM介绍和字段及字段参数 二.Django ORM 常用字段和参数 三.Django ORM执行原生SQL.在Python脚本中调用Django环境.Django终端打印SQL语句 ...

  7. PostgreSQL 的字段类型和表操作笔记

    字段类型 数值类型 Name Storage Size Description Range smallint 2 bytes small-range integer -32768 to +32767 ...

  8. MySQL添加字段和修改字段

    MySQL添加字段的方法并不复杂,下面将为您详细介绍MYSQL添加字段和修改字段等操作的实现方法,希望对您学习MySQL添加字段方面会有所帮助. 1添加表字段 alter table table1 a ...

  9. mysql 添加字段、删除字段、调整字段顺序

    用过MySQL的朋友,可能都在使用phpMyAdmin,我从2003年开始使用,感觉那东西适合远程mysql管理,并 不适合单机.单数据库的管理操作,特别是开发使用. 给家推荐一个软件管理mysql数 ...

随机推荐

  1. [Java]一步一步学 Web

    部分内容来自:http://www.cnblogs.com/jinzhenshui/p/3345895.html Java 中的锁写作 synchronized (this) {} .net 中的锁写 ...

  2. angular的继承作用域通信

    本人学了一段时间的angular,angular之间怎样通信,我就总结以下几点,如果有哪位大神认为不对,敬请赐教. 1.父子之间的作用域进行通信 html <div ng-controller= ...

  3. 解决: Project facet Java version 1.8 is not supported

    背景 从别处Import一个Java project之后,Eclipse提示“Project facet Java version 1.8 is not supported”. 分析 从错误的描述来看 ...

  4. [知识整理]Linux系统WIFI知识的一些整理

    前段时间接触了wifi,主要是在linux系统下做预研.开发.本文根据个人收集资料及研究经验做了一些基本入门级别的引子,旨在对wifi有一个很基础的入门的认知,比如知道wifi模块硬件接口有哪些,了解 ...

  5. 【做题记录】USACO silver * 50(第一篇)

    由于我太菜,决定按照AC人数从小到大慢慢做. BZOJ开了权限号真的快了好多诶~ 29/50 1606: [Usaco2008 Dec]Hay For Sale 购买干草 背包dp 1610: [Us ...

  6. 转-----FPGA工程师:持守梦想or屈于现实

     昨晚无意间看到一段新闻频道对最近炒得火热的“史上最年轻教授”的专访,倒是他的一位同学对于梦想的“现实版”解说颇有些耐人寻味.大体意思是说“拼了老命考上一所梦寐以求的大学,父母辛辛苦苦交了学费,我们却 ...

  7. isset ,empty,is_null 区别

    <?php $a = ''; $b = ""; $c = null; $d = array(); $e = ' '; $f = 0; $g = "0"; ...

  8. python+selenium+Firefox+pycharm版本匹配

    window(2018-05-29)最新 python:3.6.1    地址https://www.python.org/downloads/release/python-361/ selenium ...

  9. 关于Fiddler常见问题之一

    Fiddler设置代理后,手机无法上网常见检查项 1.检查IP 2.确认端口在工作   >  “ netstat -ano” 3.设置手机代理>管理网络设置>高级>代理服务器, ...

  10. github上的版本发布

    当前的版本号 发布版本 比如 git tag -a v1. 把这个版本发布到线上 git push --tags