培训首页  >  人工智能新闻  >  兄弟连教育Go语言教程(7)自定义类型

兄弟连教育Go语言教程(7)自定义类型

[2018-08-06 17:20:50] 浏览量:94 来源:

北京兄弟连IT

  兄弟连Go语言培训课程体系设计架构包括了区块链的基础语言Go语言、区块链后端技术体系、区块链公链、区块链分布式应用开发等内容讲解,以及到最后的面试指导和项目实战。课程由清华微软谷歌团队精心打造,历时半年时间共同研发而出。

  可将类型分为命名和未命名两⼤大类。命名类型包括bool、int、string等,⽽而array、

  slice、map等和具体元素类型、⻓长度等有关,属于未命名类型。

  具有相同声明的未命名类型被视为同⼀一类型。

  •具有相同基类型的指针。

  •具有相同元素类型和⻓长度的array。

  •具有相同元素类型的slice。

  •具有相同键值类型的map。

  •具有相同元素类型和传送⽅方向的channel。

  •具有相同字段序列(字段名、类型、标签、顺序)的匿名struct。

  •签名相同(参数和返回值,不包括参数名称)的function。

  •⽅方法集相同(⽅方法名、⽅方法签名相同,和次序⽆无关)的interface。

  varastruct{xint`a`}

  varbstruct{xint`ab`}

  //cannotusea(typestruct{xint"a"})astypestruct{xint"ab"}inassignment

  b=a

  可⽤用type在全局或函数内定义新类型。

  funcmain(){

  typebigintint64

  varxbigint=100

  println(x)

  }

  新类型不是原类型的别名,除拥有相同数据存储结构外,它们之间没有任何关系,不会持

  有原类型任何信息。除⾮非⺫⽬目标类型是未命名类型,否则必须显式转换。

  x:=1234

  varbbigint=bigint(x)//必须显式转换,除⾮非是常量。

  varb2int64=int64(b)

  varsmyslice=[]int{1,2,3}//未命名类型,隐式转换。

  vars2[]int=s

文中图片素材来源网络,如有侵权请联系删除
  • 软件开发
  • 软件测试
  • 数据库
  • Web前端
  • 大数据
  • 人工智能
  • 零基础
  • 有HTML基础
  • 有PHP基础
  • 有C语言基础
  • 有JAVA基础
  • 其他计算机语言基础
  • 周末班
  • 全日制白班
  • 随到随学

网上报名

热门信息

温馨提示