前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Go语言核心编程(3)——类型系统

Go语言核心编程(3)——类型系统

作者头像
羊羽shine
发布2019-05-29 18:39:04
8710
发布2019-05-29 18:39:04
举报
文章被收录于专栏:Golang开发Golang开发

注:本文是《Go语言核心编程》(李文塔/著)个人读书笔记 命名类型(Named Type) 类型可以通过标识符来表示,这种类型称为命名类型。Go 语言的基本类型中有20个预声明简单类型都是命名类型。 未命名类型 (Unamed Type) 一个类型由预声明类型、关键字和操作符组合而成,这个类型称为未命名类型。未命名类 型又称为类型字面量( Type Literal ) 数组(array) 、切片(slice) 、字典(map) 、通道(channel) 、指针(pointer) 、函数字面量(function) 、结构(struct) 和接口(interface) 都属于类型字面量, 也都是未命名类型 。

类型判断

两个命名类型是否相同: 1两个命名类型相同的条件是两个类型声明的语句完全相同。 2命名类型和未命名类型永远不相同。 3两个未命名类型相同的条件是它们的类型声明宇面量的结构相同,井且内部元素的类 型相同。 4 通过类型别名语句声明的两个类型相同。

类型强制转换

由于 Go 是强类型的语言,如果不满足自动转换的条件,则必须进行强制类型转换 。任意两个不相干的类型如果进行强制转换,则必须符合一定的规则。强制类型的语法格式:var a T = (T) (b),使用括号将类型和要转换的变量或表达式的值括起来 。

自定义类型

语法格式

代码语言:javascript
复制
type newtype oldtype
struct 初始化

1字段顺序进行初始化,缺点是一旦结构修改,就得修改初始化语句 2指定字段进行初始化 3new创建内置函数,字段默认初始化为其类型的零值 4 一次初始化一个字段,结构化编程思维。 5构造函数初始化

方法

方法是特殊类型的函数,将对象实例和指针作为函数的第一个参数,这个对象实例或者指针成为方法的接收者reciver。

代码语言:javascript
复制
//类型方法接收者是值类型
func (t TypeName) MethodName (ParamList ) (Returnlist) //method body{

//类型型方法接收者是指针
func(t *TypeName) MethodName (ParamList) (Returnlist) //method body
组合

struct 可以嵌入任意其他类型的字段 struct 可以嵌套自身的指针类型字段

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.04.16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 类型判断
  • 类型强制转换
  • 自定义类型
    • struct 初始化
    • 方法
    • 组合
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档