分享点kotlin的小技巧

前言

其实吧,现在网上关于 kotlin 的奇技淫巧真的不少,我写这个的主要目的还是对近来使用 kotlin 的一个小小总结。

就 kotlin 的特性而言,有时候与其说是 “写” kotlin,不如说是在想怎么 “玩” kotlin。这也是我对 kotlin 钟情的一个原因,因为有时候某个写法真的会有一种令人耳目一新的感觉。而写出这些代码的前提就是要对 kotlin 的基础有住够的了解。虽然我用 kotlin 写过一两个 Android 项目,但是现在回过头来看,当时也不过只是了解点简单语法而已,写出来的也充满了浓浓的 Java 味,完全没有 kotlin 的感觉。

不过近两个多月,我一直坚持每天在 leetcode 上用 kotlin 来写算法,频率是每天至少一题(我的 solution 代码放在了我的 Algorithms 上)。这期间也参考了一些 kotlin 的写法,发现并体会到了很多 kotlin 的妙处,当然也包括算法知识,所以下面我会分享一些我学到与我总结出的一些技巧

阅读更多
新的一年,一年期目标达成!

一年期目标达成!

阅读更多
刷题小知识积累(Java)

OJ Java 环境 : JDK 1.6

即需注意不要使用只有 JDK1.7 和 JDK1.8 的新特性,为了简便起见,只列出这两个版本的新特性的常用特性,

  • switch 中可以使用字符串
  • “<>”这个玩意儿的运用List tempList = new ArrayList<>(); 即泛型实例化类型自动推断
  • 两个 char 间的 equals

务必注意第二点

阅读更多
汇编语言学习笔记(十一):标志寄存器

学习参考:汇编语言(第2版)王爽

  • ZF 标志
  • pf 标志
  • SF 标志
  • CF 标志
  • OF 标志
  • adc 指令
  • sbb 指令
  • cmp 指令
  • 检测比较结果的条件转移指令
  • DF 标志和串传送指令
  • pushf 和 popf

阅读更多
汇编语言学习笔记(十):CALL 和 RET 指令

学习参考:汇编语言(第2版)王爽

  • ret 和 retf
  • call 指令
  • 依据位移进行转移的 call 指令
  • 转移的目的地址在指令中的 call 指令
  • 转移地址在内存中的 call 指令
  • call 和 ret 的配合使用
  • mul 指令
  • 参数和结果传递问题
  • 批量数据的传递
  • 寄存器冲突问题
阅读更多
汇编语言学习笔记(九):转移指令的原理

学习参考:汇编语言(第2版)王爽

  • 操作符 offset
  • jmp 指令
  • 依据位移进行转移的 jmp 指令
  • 转移的目的地址在指令中的 jmp 指令
  • 转移地址在寄存器中的 jmp 指令
  • 转移地址在内存中的 jmp 指令
  • jcxz 指令
  • loop 指令
  • 编译器对转移位移超界的检测
阅读更多
汇编语言学习笔记(八):数据处理的两个基本问题

学习参考:汇编语言(第2版)王爽

  • bx、si、di 和 bp
  • 机器指令处理的数据在什么地方
  • 汇编语言中数据位置的表达
  • 寻址方式
  • 指令要处理的数据有多长
  • div 指令
  • 伪指令 dd
  • dup
阅读更多
汇编语言学习笔记(七):更灵活的定位内存地址的方法

学习参考:汇编语言(第2版)王爽

  • and 和 or 指令
  • SI 和 DI
  • [bx+si] 和 [bx+di]
  • [bx+si+idata] 和 [bx+di+idata]
  • 不同的寻址方式的灵活应用

阅读更多
汇编语言学习笔记(六):包含多个段的程序

学习参考:汇编语言(第2版)王爽

  • 在代码段中使用数据
  • 在代码段中使用栈
  • 将数据、代码、栈放入不同的段
阅读更多
汇编语言学习笔记(五):[BX] 和 loop 指令

学习参考:汇编语言(第2版)王爽

  • [bx]
  • loop 指令
  • 段前缀
  • 一段安全的空间

阅读更多