当前位置: 首页 > news >正文

用wordpress做答题网站做网站市场分析

用wordpress做答题网站,做网站市场分析,有哪些做图纸的网站,建设学校网站策划书1. 定义在Go语言中#xff0c;嵌套类型是将已有的类型直接声明在新的结构类型里。被嵌入的类型被称为新的外部类型的内部类型。通过嵌入类型#xff0c;与内部类型相关的成员变量会提升到外部类型上。就好像这些成员变量直接声明在外部类型一样。如下图所示#xff1a;外部类…1. 定义在Go语言中嵌套类型是将已有的类型直接声明在新的结构类型里。被嵌入的类型被称为新的外部类型的内部类型。通过嵌入类型与内部类型相关的成员变量会提升到外部类型上。就好像这些成员变量直接声明在外部类型一样。如下图所示外部类型可以通过声明与内部类型成员变量同名的成员变量来覆盖内部类型的成员变量。如下图所示2. 嵌套类型的基本使用package mainimport fmt// 自定义类型type userInfo struct {name stringemail string}// 自定义类型type client struct {userInfo // 嵌入类型level string}// 定义user指针类型调用的方法func (u *userInfo) notify() {// 模拟发邮件的功能fmt.Printf(Send email to %s\n, u.name, u.email)}func main() {// 创建一个clientc : client{userInfo:userInfo{name:lioney,email:lioney_liusina.com,},level: normal,}// 直接访问内部类型的方法c.userInfo.notify() // Send email to lioney// 内部类型的方法也被提升到外部类型c.notify() // Send email to lioney}在以上代码中内部类型userInfo的初始化使用结构字面量完成的。通过内部类型的名字userInfo可以访问内部类型的字段或方法。对外部类型client来说内部类型总是存在的。借助内部类型提升notify方法可以直接通过外部类型的变量c来访问实际上所谓的内部类型的提升只是Go编译器帮我们完成了一次间接查找。Go编译器内部对指针进行了优化c.user.notify()和c.notify()实际上内部执行都是(c.user).notify(), 因为内部类型的方法是通过指针接收者定义的。3. 将嵌套类型应用于接口package mainimport fmt// 定义一个通知行为的接口type notifier interface {notify()}// 定义一个接收接口类型参数的函数func sendNotification(n notifier) {n.notify()}// 自定义类型type userInfo struct {name stringemail string}// 自定义类型type client struct {userInfo // 嵌入类型level string}// 定义user指针类型调用的方法func (u *userInfo) notify() {// 模拟发邮件的功能fmt.Printf(Send email to %s\n, u.name, u.email)}func main() {// 创建一个clientc : client{userInfo:userInfo{name:lioney,email:lioney_liusina.com,},level: normal,}// 实现接口的内部类型的方法被提升到了外部类型sendNotification(c) // Send email to lioney// 多态调用必须遵守方法集规则//sendNotification(c) // client does not implement notifier (notify method has pointer receiver)}在上面代码中由于内部类型的提升内部类型实现的接口会自动提升到外部类型可以当成外部类型实现了该接口我们由此可以实现对外部类型的多态调用。有一个重要的问题必须指出在进行多态调用的时候必须满足方法集的规则,方法集定义了接口的参数接收规则方法集的规则如下表所示方法接收者的类型参数的类型值值或指针指针指针由于是内部类型的指针接收者实现了notify方法所以在多态调用的时候必须传入外部类型的地址才能和接口调用相匹配。4. 内部类型和外部类型实现同一个方法package mainimport fmt// 自定义类型type userInfo struct {name stringemail string}// 自定义类型type client struct {userInfo // 嵌入类型level string}// 定义userInfo指针类型调用的方法func (u *userInfo) notify() {// 模拟发邮件的功能fmt.Printf(userInfo notify(), Send email to %s.\n, u.name)}// 定义client指针类型调用的方法func (c *client) notify() {fmt.Printf(client notify(), Send email to %s.\n, c.name)}func main() {// 创建一个clientc : client{userInfo:userInfo{name:lioney,email:lioney_liusina.com,},level: normal,}// 直接调用c.notify() // client notify(), Send email to lioney.// 通过内部类型的变量名调用c.userInfo.notify() // userInfo notify(), Send email to lioney.}从以上代码可以看出如果外部类型和内部类型都实现了同一方法notify(),则内部类型的notify()方法不会被提升但一直存在可以通过内部类型的变量名来间接调用。嵌套类型的内容是不是很简单呢*_*我是lioney年轻的后端攻城狮一枚爱钻研爱技术爱分享。个人笔记整理不易感谢阅读、点赞和收藏。文章有任何问题欢迎大家指出也欢迎大家一起交流后端各种问题有疑问加站长微信联系(非本文作者)
http://www.yutouwan.com/news/161927/

相关文章:

  • 个人免费网站申请注册php网站开发
  • 银川网站设计怎么样百度推广渠道户
  • 网站地图后缀wordpress 后台列表
  • 手机软件开发平台网页seo如何优化
  • 查一下红之易道学做的什么网站上海浦东建筑建设网站污水处理工程
  • 门户网站底部小程序商城系统平台
  • 辛集网站建设精能集团有限公司两学一做网站
  • 郑州网站制作服务半成品网站
  • 网站策划与建设阶段的推广方法做销售如何在网站上搜集资料
  • 网站建设对电子商务的作用wordpress域名搬家
  • 安阳市城乡建设规划局网站郑州网站建设定制开发
  • 医程通 网站做的太平台运营
  • 电子商务公司网站建立短视频seo优化排名
  • phpcms手机网站网页设计实例
  • 在网上建设网站需要花钱么wordpress 搬家 换域名
  • 中小企业建网站多少钱html网页设计小作业的代码部分
  • 山西省建设厅网站打不开动漫制作
  • 成都APP 微网站开发推广计划名称写什么
  • 论坛网站源码下载湖南企业网站建设
  • 建设网站的企业排行湖北哪里需要建网站
  • 毕业答辩ppt 网站开发做网站的空间
  • 青岛好的网站制作推广设计服务
  • 千锋培训价目表湖南网站搜索排名优化公司
  • 网站栏目名称大全画廊网站模板 frontpage
  • 学做漂亮早餐的网站定制网站建设的流程
  • 国家骨干院校建设网站vue.js和vs做网站比较
  • 临沂做网站企业鹤壁海绵城市建设官方网站
  • 表格如何给网站做链接地址做互助盘网站多少钱
  • 河南郑州网站建设哪家公司好商场装修
  • 常州网站制作套餐python制作视频网站开发