浅谈kotlin的泛型

kotlin跟java一样,同样支持类型参数,也就是我们常说的泛型。泛型的英文单词是generics,通常译作:一般的,广泛的,普通的。在计算机和web开发领域,被称作泛型,也成为通配符类型。泛型可以简单理解为:函数附带的一个参数,支持广泛的数据类型。对于php程序员来说,基本没有这个困扰。但是对于类型严格的编程语言来说,这就有点复杂了。今天就来谈谈,kotlin的泛型。

Continue reading

浅谈kotlin的协程

Go语言的协程曾经是一大卖点,kotlin在1.1+版本中也实现了协程。不过目前kotlin的协程实现,还是试验性质的,也就是说以后可能会大改。下面谈谈,我对kotlin协程的理解。

Continue reading

浅谈kotlin的lambda表达式以及与匿名函数的区别

php最新的7.2版本貌似还不支持lambda表达式,所以在学习kotlin的过程中,kotlin的lambda表达式引起了我很大的兴趣。kotlin的高阶函数,跟lambda表达式有异曲同工之妙。国内很多文章对lambda表达式的误解很升,认为不过是语法糖而已,这里谈谈我的看法。最后讲一下,lambda表达式和匿名函数的区别。

Continue reading

PHP连接MongoDB数据库报错“No suitable servers found (`serverSelectionTryOnce` set)”的解决办法

公司的核心系统使用了MongoDB数据库,最近也碰到了那个烦人的 “No suitable servers found (`serverSelectionTryOnce` set): [connection refused calling ismaster on ‘xxx.xxx.xxx.xxx:xxxx’]” 问题。搞了好几天,总算把问题解决了。

故障原因:谷歌搜索这段报错的提示,很容易找到故障的原因。主要是因为服务器开启了ipv6支持,但是MongoDB默认是不开启ipv6的支持的。进一步深层次的原因,目前谷歌搜索也没几个说的明白的,先说说解决问题的办法吧。

Continue reading