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

校园官方网站建设网站首页模板

校园官方网站建设,网站首页模板,巩义网站建设哪家专业,济南 网站建设公司 医疗type关键字再定义类型和类型别名有很大的区别,前者是新定义一个数据类型,后者是对类型的重命名。 type NewString stringtype OldString stringtype NewString string声明了一个NewString类型,和string具有完全一致的数据结构,确…

type关键字再定义类型和类型别名有很大的区别,前者是新定义一个数据类型,后者是对类型的重命名。

type NewString stringtype OldString = string

type NewString string声明了一个NewString类型,和string具有完全一致的数据结构,确实两种类型。这样有什么好处是使新的类型可以扩充和延展。

在Go语言中方法只能在同一包下定义,不能为其他包的类型定义方法,如下:

在这里插入图片描述

需要通过类型定义来在新的包中对类型进行扩展。例如如果需要对所有的string类型做更改,比如加一个666后缀。如果不用新类型就需要在每个string类型后面+"666"的操作,还有一种方法是在string包下添加一个方法,如下:

在这里插入图片描述
不能定义其他包中类型的方法,这使切换到string包下,看以看到官方都是用到这种定义方式:

在这里插入图片描述

在该类下添加上述add666方法显然使不合适的,因为该包下全是类型定义,再添加方法显得很冗余;另外这个方法只是一次性需求不是通用性方法也不能添加再该包下。

type关键字的类型定义就可以完美解决该问题,首先类型定义和原类型完全一致,其次在任意包下新定义类型,就可以为其扩展方法。于是之前无法完成的任务就可以使用下面方法完成:

package maintype NewString stringfunc main() {var a NewStringprintln(a.add666("xiaoxu"))
}func (self NewString) add666(str string) string {return str + "666"
}

NewString string是完全一样的类型。

通过类型定义将类型和类型的方法可以分开,特定类型的方法分隔开来,不用将非通用性的方法全写在一个包下。

type OldString = string为类型起一个别名,其主要作用有简化书写,赋予实际意义。例如在go语言中任意类型为空接口,但是空接口inteface{}写起来比较复杂使用any代替简化书写。

在这里插入图片描述

在内置的类型中使用byte作为unit8的别名,赋予新的意义。

http://www.hengruixuexiao.com/news/52533.html

相关文章:

  • 自己的卡盟网站怎么做分站宁波seo的公司联系方式
  • 广东高端网站建设报价百度升级最新版本下载安装
  • 网站怎么做排名靠前搜索引擎免费登录入口
  • 深圳华强北赛格大楼晃动网络优化培训
  • wordpress哪里找域名seo网站搭建是什么
  • 企业网站 php网络服务商在哪咨询
  • 网站建设工具最简洁的关键词查询工具包括哪些
  • 知名网站建设官网自己做网站制作流程
  • 一个网站建设流程腾讯广告平台
  • 移动端模板 wordpress什么是网站seo
  • 网站开发工程师是做什么的引流推广犯法吗
  • 怎样做网站的反链站长工具在线免费
  • 网站开发使用api对seo郑州网站seo优化
  • 公司建网站的步骤网络推广服务商
  • 网站维护有多长时间谷歌google下载
  • 做网络推广网站有哪些上海公布最新情况
  • 建平台跟建网站热搜榜百度
  • 架设网站费用整合营销推广
  • node.js可以做网站么竞价推广托管公司价格
  • 建设集团有限公司网站百度推广客服电话人工服务
  • 51的网站是啥全网营销推广公司
  • 欧米茄手表官方网南京企业网站排名优化
  • 做桂林网站的图片大全网站建设推广公司
  • 南通网站排名外包站长之家域名查询排行
  • 网站用户引导长沙大型网站建设公司
  • 汕头网站快速排名优化制作免费个人网站
  • 做阿里巴巴小企业网站今日热点新闻事件摘抄2022
  • 做网站有自己的服务器吗百度搜索引擎工作原理
  • 网站制作代理今日热点新闻视频
  • 略阳县有关作风建设的网站武汉网站seo服务