范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

golang2021面向对象(18)方法集

  方法集
  Golang方法集 :每个类型都有与之关联的方法集,这会影响到接口实现规则。
      • 类型 T 方法集包含全部 receiver T 方法。
      • 类型 *T 方法集包含全部 receiver T + *T 方法。
      • 如类型 S 包含匿名字段 T,则 S 和 *S 方法集包含 T 方法。
      • 如类型 S 包含匿名字段 *T,则 S 和 *S 方法集包含 T + *T 方法。
      • 不管嵌入 T 或 *T,*S 方法集总是包含 T + *T 方法。
  用实例 value 和 pointer 调用方法 (含匿名字段) 不受方法集约束,编译器总是查找全部方法,并自动转换 receiver 实参。
  Go 语言中内部类型方法集提升的规则:
  类型 T 方法集包含全部 receiver T 方法。
  package main
  import (
      "fmt"
  )
  type T struct {
      int
  }
  func (t T) test() {
      fmt.Println("类型 T 方法集包含全部 receiver T 方法。")
  }
  func main() {
      t1 := T{1}
      fmt.Printf("t1 is : %v ", t1)
      t1.test()
  }
  输出结果:
      t1 is : {1}
      类型 T 方法集包含全部 receiver T 方法。
  类型 *T 方法集包含全部 receiver T + *T 方法。
  package main
  import (
      "fmt"
  )
  type T struct {
      int
  }
  func (t T) testT() {
      fmt.Println("类型 *T 方法集包含全部 receiver T 方法。")
  }
  func (t *T) testP() {
      fmt.Println("类型 *T 方法集包含全部 receiver *T 方法。")
  }
  func main() {
      t1 := T{1}
      t2 := &t1
      fmt.Printf("t2 is : %v ", t2)
      t2.testT()
      t2.testP()
  }
  输出结果:
      t2 is : &{1}
      类型 *T 方法集包含全部 receiver T 方法。
      类型 *T 方法集包含全部 receiver *T 方法。
  给定一个结构体类型 S 和一个命名为 T 的类型,方法提升像下面规定的这样被包含在结构体方法集中:
  如类型 S 包含匿名字段 T,则 S 和 *S 方法集包含 T 方法。
  这条规则说的是当我们嵌入一个类型,嵌入类型的接受者为值类型的方法将被提升,可以被外部类型的值和指针调用。
  package main
  import (
      "fmt"
  )
  type S struct {
      T
  }
  type T struct {
      int
  }
  func (t T) testT() {
      fmt.Println("如类型 S 包含匿名字段 T,则 S 和 *S 方法集包含 T 方法。")
  }
  func main() {
      s1 := S{T{1}}
      s2 := &s1
      fmt.Printf("s1 is : %v ", s1)
      s1.testT()
      fmt.Printf("s2 is : %v ", s2)
      s2.testT()
  }
  输出结果:
      s1 is : {{1}}
      如类型 S 包含匿名字段 T,则 S 和 *S 方法集包含 T 方法。
      s2 is : &{{1}}
      如类型 S 包含匿名字段 T,则 S 和 *S 方法集包含 T 方法。
  如类型 S 包含匿名字段 *T,则 S 和 *S 方法集包含 T + *T 方法。
  这条规则说的是当我们嵌入一个类型的指针,嵌入类型的接受者为值类型或指针类型的方法将被提升,可以被外部类型的值或者指针调用。
  package main
  import (
      "fmt"
  )
  type S struct {
      T
  }
  type T struct {
      int
  }
  func (t T) testT() {
      fmt.Println("如类型 S 包含匿名字段 *T,则 S 和 *S 方法集包含 T 方法")
  }
  func (t *T) testP() {
      fmt.Println("如类型 S 包含匿名字段 *T,则 S 和 *S 方法集包含 *T 方法")
  }
  func main() {
      s1 := S{T{1}}
      s2 := &s1
      fmt.Printf("s1 is : %v ", s1)
      s1.testT()
      s1.testP()
      fmt.Printf("s2 is : %v ", s2)
      s2.testT()
      s2.testP()
  }
  输出结果:
      s1 is : {{1}}
      如类型 S 包含匿名字段 *T,则 S 和 *S 方法集包含 T 方法
      如类型 S 包含匿名字段 *T,则 S 和 *S 方法集包含 *T 方法
      s2 is : &{{1}}
      如类型 S 包含匿名字段 *T,则 S 和 *S 方法集包含 T 方法
      如类型 S 包含匿名字段 *T,则 S 和 *S 方法集包含 *T 方法
   

iQOO2周年庆酷客嘉年华,与产品经理面对面iQOO在751动力广场举办了品牌2周年酷客嘉年华。作为品牌2周年庆的终极大趴,现场融合了视觉享受感官碰撞时尚潮流影音科技等丰富元素,同时设置了产品体验区游戏互动区礼品兑换区酷客群上海九号见面会现场我一个不骑车的人,竟然想试试九号电动车九号电动车其实更像是机器人外面套上了电动车的壳子,这是我今天印象最深的一句话。九号其实并不仅仅只是电动车,它在机器人人工智能等方面都有自己的技术,比如九号方糖机器人,它已经在酒店为vivoTWS2搭载智能动态降噪技术,这是2021年旗舰降噪的标准随着5月20号发布会的即将到来,关于vivo新品TWS2真无线降噪耳机的消息不断曝光,可以肯定的是,vivoTWS2在音质上继续延续好声音的理念,搭载的12。2mm超大单元Deep与活力共舞,iQOONeo5像素橙开箱图赏iQOONeo5除了夜影黑与云影蓝这两种经典配色之外,还有一款很活力的像素橙配色,今天终于到了,小阿皂随手拍几张图赏吧。像素橙这个配色其实让我想到了之前iQOO3上的拉力橙,它们看一加9R正式发布这一刻你我都变成了光10秒销售额破3亿5分钟破5亿。从官方和电商平台的数据来看,一加9系列整体销量确实不错,这让张老板更有底气了。一加9系列的代言人是胡歌和周迅,这次一加9R代言人是由光之巨人迪迦代言realme真我Q3Pro首发评测我要成为夜光下最靓的仔realme真我Q系列在去年销量不错,而Q系列的使命主要就是在同价位的千元机型中完成敢越级的任务,从结果来看,Q2系列完成了。这次realme真我顺势带来了realme真我Q3PrvivoTWS2体验评测弯道超车?还是自动档的各家真无线蓝牙在前两年算是完成的基础布局,想做真无线的都已经开始做了,没做的之后可能也不会做所以到现在你会发现有特别多厂商陆续推出新款TWS耳机,而vivo算是一个让我特别期待的厂次旗舰能和旗舰机掰头吗?一加9R上手评测看了一下我上次用一加手机,emm还是2019年的一加7Pro,当时它的高刷和真全面屏真的是很出色。时隔多年,我再次上手体验了一加手机,这次是一加9R。一加张老板曾经说过,一加只做精小米降噪耳机Pro体验摊牌了,这才是小米冲刺高端TWS之作去年小米Air2Pro在几次更新后加入了抗风噪模式,同时降噪音质表现也得以改善,后来网友表示佩戴容易掉的问题,小米也通过补发耳塞得以解决。我还没有上耳体验小米降噪耳机Pro之前,一上海大悦城小米快闪店与米粉一起抢先体验小米11Ultra前几天小米在北京正式发布小米11Pro小米11Ultra小米11青春版以及小米MIXFOLD,这四款手机可以说是本次小米春季新品发布会的重点产品,肯定很多米粉对这四款手机早已垂涎三用天玑1200打造双平台旗舰,真我GTNeo正式发布2021年3月31日中国北京全球成长最快的智能手机品牌realme真我于今日在北京举办真我GTNeo新品发布会。作为一款潮玩性能旗舰,真我GTNeo不仅在越级性能和潮玩设计方面再次
vivo发布vivoS15系列,网友评价真的是用力过猛1标准版870芯片天花板,通过编解码加速器内存增强技术异构计算系统三大提升,让870榨干了性能,官方称之为870巅峰版。2Pro版本采用天玑8100芯片,兔子跑分近83。7万分,入PythonArrow日期时间模块PythonArrow日期时间模块1。arrow简介Arrow是一个Python库,为创建操作格式化和转换日期时间和时间戳提供了一种合理且人性化的方法。它实现并更新datetimeTsingShare绿联HiTuneMax3头戴式蓝牙耳机轻分享大概从初中开始就开始喜欢一人戴着耳机发呆,坐在公交上,听着歌看着景。后来有了蓝牙耳机就慢慢从耳机依赖症变成了重度蓝牙耳机依赖症患者。大概使用耳机的一个顺序,有线耳机入耳式蓝牙耳机半少卖560万部,每部手机毛利119元,小米遭遇首亏财报速递虽然小米手机毛利率整体很低,但作为集团收入最大业务板块,却是基本盘,因此一旦手机业务表现一般,整个集团业绩也就难乐观。小米集团(1810。HK)在2022年第一个季度卖了3鸿蒙2。0。0。150只有410MB,优化多个使用体验,建议升级华为鸿蒙2。0系统升级更新支持的机型广泛,即使是华为mate10,华为mate9等等老机型也可以升级更新到鸿蒙2。0系统。最近华为向mate9手机推送了鸿蒙2。0系统新版本升级更新前4月新能源汽车产销同比均增1。1倍来源人民网人民日报海外版本报北京5月12日电(记者徐佩玉)中国汽车工业协会11日发布的最新统计显示,尽管4月以来受疫情影响,汽车行业产业链供应链经受了严峻考验,新能源汽车产销依然高首批支持Android13机型官宣了,其中小米12,小米平板5在列数码今日为大家更新带来资讯是,谷歌近日发布会上宣布Android13机型,没过多久,小米手机也官宣发布,小米1212pro平板5红米k50pro等机型将支持最新发布的Android小米11的用户们还好吗?22年5月最新小米11质保政策实录大家好,我是毒蘑菇。去年沸沸扬扬的小米11系列烧WiFi问题以小米公司为这个系列增加6个月保修服务而告终,现在这些购买首发的用户早已过了一年保修期,不过应该还延保期内,当时的政策是韵达快递房山长阳分中心20余万件货物接受追溯调查新京报讯(记者戴轩)房山区委常委宣传部部长张明智今日通报,韵达快递长阳分中心关联病例累计达14例(另有1例为主动就医报告病例,已于5月13日发布会由市疾控中心通报)。目前共判定密接2020绿卡榜中国卡车及生产商绿色排行榜柴油车环保年检通过率提升,氮氧化物减排是重点5月12日,亚洲清洁空气中心清华大学环境学院和新能源汽车国家大数据联盟共同发布完整版2020绿卡榜中国卡车及生产商绿色排行榜报告。报告显示,2018年发布的柴油货车污染治理攻坚战行支付宝。NETSDK报错RSA签名遭遇异常,请检查私钥格式是否正确AlipaySDKNet是。NET平台下用于对接支付宝支付的官方SDK。AlipaySDKfor。NET让您不用复杂编程即可访问支付宝开放平台开放的各项能力,SDK可以自动帮您满足