写点什么

Golang 别名类型

用户头像
escray
关注
发布于: 2021 年 05 月 16 日
Golang 别名类型

极客时间《Go 语言核心 36 讲》学习笔记 05,图片来自网络

06 | 程序实体的那些事儿 (下)


这一篇是在讲类型转换么?


类型断言表达式 x.(T),这里的 x 必须是接口类型的,这里我稍微有一点疑惑。


空接口 interface{},带包不包含任何方法定义的、空的接口类型。任何类型都是它的实现类型,interface{}(x)


空花括号 {},可以代表空代码块,或者是不包含任何内容的数据结构


类型字面量,这个中文看上去有点别扭,不知道英文是什么?


类型转换表达式 T(x)


敲了一遍有关类型转换的 demo13 的代码,顺便复习了一下 Unicode 编码


关于别名类型和潜在类型,其实只要看一下 demo13 的代码应该就可以明白了。


对于思考题,感觉有点无从下手。


类型转换规则中我觉的比较有意思的是,凡是没有办法转换的,一般在静态检查的时候,IDE 就会给出提示。


别名类型,主要的好处应该是可以增加代码的可读性。


老师在回复里面提到的,别名类型和类型在定义都是为了“隔离变化”,一语中的。


关于 Type Aliases,在 Proposal 的 Abstract 里面说的很清楚:


enable gradual code repair during large-scale refactorings... may also be useful allowing large packages to be split into multiple implementation packages ... and for experimenting with extended version of existing package


type byte = uint8type rune = int32
复制代码


Proposal 没有完全看懂,与这篇专栏文章一样,估计以后还需要多看几遍,才能“其义自见”


看了一篇文章讲 alias 的优点,主要是 Refactoring、Readability 和 Runtime

发布于: 2021 年 05 月 16 日阅读数: 25
用户头像

escray

关注

Let's Go 2017.11.19 加入

Let's Go,用 100 天的时间从入门到入职

评论

发布
暂无评论
Golang 别名类型