写到第 20 天,关於如何建立 Utility Type 所需的知识也差不多吿一个段落,今天就来做个简单的小结。
在前几天的范例中,读者会发现到要写 Utility Types 比较简单的方式会是针对一个实际的型别去达到你想完成的功能,接着再把可以替换成变数的内容抽换出来。因此如果要建立自己的 Utility Types 可以有两个简单的步骤:
如果是要试着理解别人写的 Utility Types 的话,同样有几个重点:
一开始看别人写的 Utility Types 时很容易陷在茫茫的 <>
、=
、?
、:
这些符号当中,适时的建立断句对於帮助理解就变得很重要。在建立好了断句後,可以试着用一些实际的型别带进去参数当中,看看会得到什麽结果,或者在改变 Conditional Type ?
或 :
後回传的结果,改成比较简单的一些回传值,帮助自己判断。
过去我在打开型别定义的原始码时,常常觉得像是在看天书一样,完全不知道要这麽下手,但实际上在有了这些知识之後,这些东西并没有想到这麽难(不是不难,而是至少能够逐渐理解),因此希望透过这 20 天的主题,能够让读者不再害怕原始码:
最後,对这个主题能够开始有所涉略,很重要的是 OneDegree 同事们给我的启发,在建立型别的过程中很容易打结,这时候有能一起讨论的同事,会是很重要的一盏明灯,因此特别感谢他们。
但铁人赛还有 10 天,明天要写什麽呢?明天再来想想看吧!
<<: 第三十天:为 TeamCity 设计的 Kotlin DSL
目的(Purpose) “目的”是完成或创建某件事或存在某事的原因。(谷歌字典) 使命与愿景 一个...
今天终於要进入测试API的阶段啦~~~ 不过在进入测试阶段之前,还是要来介绍一下我们的工具要怎麽使用...
生命周期分为最重要的五个阶段: viewDidLoad: 画面已经(Did)载入记忆体会使用 载入只...
比赛日子过一半了,再坚持一下,就快完赛了! 前面14天我们从 0 到 实作 用了 tableau p...
heap sort的原理是采用max heap这种资料结构来做排序,max heap是一种bina...