iOS 14上UIDatePicker使用旧样式

iOS一旦更新,随之而来的就是App的适配工作。其实大部分App根本不会去用iOS更新后的新特性,所以很多时候的适配都是浪费时间。
所以我一再强调跨平台的重要性,注意此跨平台是指不赖原生,因此不会随着iOS更新UI发现变化。
比如自绘渲染引擎的Flutter。

如何修改gitalk的CSS样式

icarus主题是自带评论插件的,评论插件由ppoffice/hexo-component-inferno提供。具体启用评论插件的操作请看 Icarus用户指南 - 用户评论插件

我启用了Gitalk作为评论插件,Gitalk 是一个基于 GitHub Issue 和 Preact 开发的评论插件。
但是其默认是浅色模式,而我的博客是深色模式,这样配色就很不协调了。
因此我需要将Gitalk的浅色模式改为和我博客一致的深色模式。

使用hexo-abbrlink插件生成永久短链接

为了解决Hexo默认生成的链接,在修改文件名后,链接会跟这变,如果旧链接在其他地方有被引用,访问旧链接的响应为404错误。且链接为日期 + 目录,层级太多,不利于SEO。

因此急需一种生成永久短链接的方案!

11《Go语言入门》数组和切片

本文内容较多,请泡个茶,做好准备!

重要知识点:

  • Go中没有foreach关键字,但是range 关键字可用于for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。
  • _ 表示占位,用于替代不使用的变量。
  • 数据截取返回的是切片。
  • 切片是一个共享存储结构,是引用类型。
  • slice的len大于cap时,会出发扩容。slice的cap增长是当len在1024之前是双倍增长的,而1024以后则是先增长25%以后再调整这个值为系统需要的最小值,因此这个值是约等于cap + cap/4。

10《Go语言入门》循环和条件

重要知识点:

  • Go仅支持循环关键字for,没有while循环关键字。
  • 条件表达式的结果必须为布尔值。
  • switch条件表达式不仅支持常量和整数,而且和JS一样支持字符串。
  • switch不需要break来明确退出一个case。
  • 不设定switch后的条件表达式,能实现if else的效果。
  • 不支持三目(元)运算符。

09《Go语言入门》运算符和其他编程语言的区别

重要知识点:

  • 很多人分不清前置自增和后置自增、前置自减和后置自减,而Go为了简单,只支持后置自增(a++)和后置自减(a–)。
  • Go中数组(Array)为值类型,相同维数且含有相同个数元素的数组才可以比较,每个元素都相同才相等。
  • 位运算符增加按位置零运算符 &^ ,规则:右1为0,右0为O(Original)。

08《Go语言入门》数据类型、类型转换、指针类型

重要知识点:

  • 整形int和uint的位数由操作系统位数决定,如64位操作系统,则int为有符号64位。
  • uintptr为无符号整型,用于存放一个指针。
  • 不允许隐式类型转换,即使别名和原有类型也不能进行隐式类型转换。
  • Go有指针,但是不支持指针运算,即不能通过指针自增来访问连续的存储空间,如数组。
  • string是值类型,其默认的初始化值为空字符串,而不是null。

07《Go语言入门》测试用例、变量和常量

从这篇文章开始,为了方便测试代码,我将基本上所有示例代码都写成了测试用例,因此需要先学下测试用例怎么编写,这真的很重要,这是任何工程的开始必做的步骤。
然后讲解了单个或多个变量和常量的定义,常量的讲解包括枚举、常量表达式、iota常量、比特位常量等。

重要知识点:

  • 全局变量声明后不使用,程序能够编译成功;而局部变量不可以,声明后必须得使用。
  • 变量短声明方式只能在函数内使用,函数外使用会报错 unexpected
  • 常量不管全局还是局部,声明后可以不使用。