在科技飞速发展的今天,编程语言作为计算机领域的基石,其重要性不言而喻。
大家都很关心华为仓颉编程语言的进展,本号曾在4月23日发布《仓颉编程语言即将面世?OpenHarmony最新代码提交“支持仓颉调用ffi接口”》一文。
又在6月17日发布《华为仓颉编程语言这次真要来了,6月22号,不见不散!》预告仓颉编程语言的面世时间。
通过阅读官方仓颉编程语言文档和学习官方视频教程,我总结出仓颉编程语言20条特性,供感兴趣的小伙伴了解!
1. 编译型,强类型,但支持编译器类型推导(代码使用var,let,const),有GC
2. 支持lambda表达式
3. 函数为第一成员,参数可设置默认值,支持嵌套和闭包特性
4. 单字符类型为Rune,支持所有Unicode字符。rune翻译:神秘的记号,有魔力的符号
5. 内置String类型,属于基本类型,且支持插值表达式
6. 内置元组类型和区间类型Range
7. 支持try-with-resource语法
8. switch表达式关键字为match-case,个人觉得更准确,功能也有优化,更易用(如支持在一个case中使用|连接匹配多个条件等)
9. 支持for-in表达式
10. 无null值,支持Option类型
11. 有包和模块的概念,集成包管理器提供项目级编译构建能力,支持自动依赖管理(可自定义构建脚本,也使用仓颉编程语言)
12. 完整支持面向对象机制(单类继承)、支持泛型
13. 类中除了成员变量,成员函数,还有一个特殊的成员属性,可在属性内部设置get()、set()函数来间接取/赋值,
14. 可使用extend扩展已有类的成员函数或属性
15. 原生支持并发
16. 支持跨语言互操作,有接口式和声明式两种方式,目前支持
17. 支持宏,但和传统的宏不同,仓颉是编写成单独的宏程序,在编译其他程序时加载使用,可以介入编译过程,比如把加号替换为减号(感觉还能用来扩展成中文编程,用宏转回英文就行)
18. 支持创建DSL语言(类似Groovy和Kotlin)
19. 原生支持自然语言调用AI
20. main函数定义直接是main()或main(args: Array<String>),没错,变量类型在后面