python的杂谈
这篇文章虽然短,但是花了我 1 个小时还多,主要是 2 个原因:
- 查看之前写的 python 代码的时候,一直在在反思自己在 python 踩了那些坑,这些坑下 java或者 c#或者 kotlin 下是否也会犯。
- 思考 python 和 java 的不同,此时又有点感觉了,python 更抽象,更简洁,不够语义化。比如 java用的
stream+filter
,python 一个 for表达式搞定。比如 python 的切片,简洁确实简洁,但是不够语义化。
这篇文章虽然短,但是花了我 1 个小时还多,主要是 2 个原因:
stream+filter
,python 一个 for表达式搞定。比如 python 的切片,简洁确实简洁,但是不够语义化。这篇文章是TRTC在C#的Winform的第二篇文章,主要聊聊下面的话题。
ITRTCCloud
核心的trtc操作类,非本文重点。ITRTCCloudCallBack
核心的回调,本文重点。因为公司项目需要,研究了下腾讯的实时音视频的 C# Winform
版本的 Demo。
当然其他平台也有,不是我主要负责。
经过 2 天的摸索,对其代码和原理进行了一个简单的梳理。因为才接触腾讯的音视频直播,同时 C# Winform
相关的知识已经 5 年没碰了。
所以下面的内容,应该会出现一些偏差,仅供大家参考。
总结了下 python for 表达式的几个用法。
其中过滤元素非常简洁,我认为比java
的 stream 操作更 6
双层过滤也是非常简洁
但最这些语法糖,甜过头了,也是非常不好的!
最近因为工作需要,学的东西好杂啊。
把 C#
又重新看了遍,又把之前入门的 python
回顾了下,写了些小例子。
如果让我对这些语言的友好性来排名,我心中的地位是:
kotlin
> C#
> java
> python
> javascript
Kotlin
的语法糖真香C#
没有 kotlin
之前,C#是最香的,但是可能因为发展已经有些年头了,不够清爽Java
非常严谨,关键是手熟....Python
足够的简单,但是还是觉得 API
不够友好,比如习惯了 str.length
偏偏要 len(str)
Kotlin中定义常量
在Java中,我们可以使用如下代码定义常量。
private static final double PI = 3.14159265;
Kotlin 的一种 Self Type 的一种实现方法,父类中可以直接获取到子类的类型。
核心是利用继承类取巧!
在 MyBatisPlus 中看到过此类用法,现在大概明白了作用
最近 买了个小米的 显示器的带鱼屏,在 Mac 下如果使用原始分辨率,会出现 字体特别小 的问题,所以通过 HiDPI 对画面进行了调整。
when
类似java
的switch
不过从语法上来说,更简单。
break
。从上倒下一旦匹配到了,就返回swtich
支持更多的类型。这是一篇 kotlin 的:扩展函数、扩展方法、中缀表达式 的文章。
这里将kotlin
中的object
关键字用法总结下
都2020
了,听说Kotlin
不错,所以在公司的一个还没正式上线的项目中,选择了一个项目来试水。
该项目还在持续开发中,部分代码已经通过Java
完成了,所以考虑采取新需求Kotlin
,老的Java
代码保持不变。
原本以为很容易,结果还是出现了不少乱七八糟的问题,这里记录下相关。
之前文章中提到过,kotlin
的形参如果不加?那么会默认为不为空。
这个小知识点在 kotlin
编译的时候其实很有用的,我们拿java中的 int
和 Integer
来举例。
Integer
是int
的包装类型,比 int
更浪费资源,最为一个优秀的 coder
,肯定希望在范围允许内使用int
而不是Integer
。
JNA的使用比 JNI 更加简单明了,之前我有篇文章:Java调用 C/C++的利器-JNA 讲述了在 Java环境调用 JNI,这里简答记录下 Kotlin下调用 JNI
在我们 Java 开发中,有些时候会涉及到跨语言的调用,比如涉及到一些高效计算、图形渲染、加密和解密的时候会用到 C++ 编写的程序,大部分情况我们都是利用 JNI
来调用 C++ 的 dll 或者 so,其实随着技术发展,更简单和易用的 JNA
应用而生。