go 语言中 类型声明/类型别名 的作用何在?
最近在学习 go 语言,看了慕课网上的几个入门视频,讲的很浅显,但是都是说是什么怎么做,没有说为什么,所以有很多疑问 比如说 类型别名和类型声明
type D = int // 类型别名 type I int // 类型声明 类型别名和原类型完全一样,只不过是另一种叫法而已 类型别名和原类型是相同的,而类型定义和原类型是不同的两个类型。
我明白了这两个的意思和区别,但是 类型别名的作用何在?用在什么场景下? 既然和原类型一致,为什么不直接使用原类型??干嘛还要声明类型别名?
类型声明我就更不能理解了,两种类型用起来是一样的,但是却不能相互加减乘除,有啥用啊??
求解!!
----------------------- 以下是精选回复-----------------------
答:可以为新定义的类型别名定义新的方法
答:最简单的应用,你可以 type xxx []int,然后定义 Swap Less Len 来做排序,把偶数放前面奇数放后面
答:定义别名,就是为了让代码更可读;
例如
type Weekday int
const (
Sunday Weekday = iota
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
)
答:看什么视频,go 语言圣经的中文译本讲的很通俗,半天刷一遍就可以照着项目撸了
答:请阅读文档。
以及 type alias 的主要目的是自己重写或者加方法吧
答:可读性。
答:1、为新定义的类型别名定义新的方法
比如 type I int,你可以给 I 加一个新的方法,但是不能直接给 int 加方法
2、可读性
答:没学过 go,但我猜是不是和 C 语言里的 typedef 类似?
答:刚刚看完这里.
一个类型声明语句创建了一个新的类型名称,和现有类型具有相同的底层结构。新命名的类
型提供了一个方法,用来分隔不同概念的类型,这样即使它们底层类型相同也是不兼容的。
type 类型名字 底层类型
go 语言圣经 2.5 章节
例子很易懂. 建议还是看书学习.
0条评论