Scala都认识?厉害了~
Posted JAVA和人工智能
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala都认识?厉害了~相关的知识,希望对你有一定的参考价值。
Scala都认识?厉害了~
开心一刻
有一种崩溃叫密码输入有误;
有一种惊慌叫做账号异地登陆;
有一种感情叫隐身对其可见;
有一种误会叫人机离线;
有一种失落叫没有访问权限;
有一种感情叫站点访问失败;
有一种无奈叫bug无法复现。
——小竹笋《JAVA和人工智能》
Scala将面向对象和函数式编程结合在一个简洁的高级语言中。Scala的静态类型有助于避免复杂应用程序中的错误,其JVM和javascript运行时可让您构建高性能系统,轻松访问庞大的库生态系统。
1
什么是Scala
Scala是一种现代的多范式编程语言,旨在以简洁,优雅和类型安全的方式表达常见的编程模式。它平滑地集成了面向对象和功能语言的功能。
2
面向对象
Scala是一种纯粹的面向对象语言,因为每个值都是一个对象。对象的类型和行为由类和特征描述。通过子类化和灵活的基于mixin的组合机制来扩展类,作为多重继承的干净替代。
3
函数式语言
Scala也是一种函数式语言,因为每个函数都是一个值。Scala提供了一种用于定义匿名函数的轻量级语法,它支持高阶函数,它允许函数嵌套,并支持currying。Scala的案例类及其对许多函数式编程语言中使用的模式匹配模型代数类型的内置支持。Singleton对象提供了一种方便的方法来对不是类成员的函数进行分组。
4
静态类型
Scala配备了一个富有表现力的类型系统,静态地强制执行抽象以安全和连贯的方式使用。特别是,类型系统支持:
通用类
方差注释
上部和下部型边界内,
内部类和抽象类型作为对象成员
复合类型
明确键入自引用
隐式参数和转换
多态方法
类型推断意味着用户不需要使用冗余类型信息来注释代码。结合使用,这些功能为安全重用编程抽象和软件的类型安全扩展提供了强大的基础。
5
扩展性强
实际上,特定于域的应用程序的开发通常需要特定于域的语言扩展。Scala提供了独特的语言机制组合,可以轻松地以库的形式顺利添加新的语言结构。
在许多情况下,这可以在不使用宏等元编程工具的情况下完成。例如,
隐式类允许向现有类型添加扩展方法。
字符串插值是用户可扩展的自定义插值器。
6
与Java非常相似
Scala旨在与流行的Java Runtime Environment(JRE)进行良好的互操作。特别是,与主流面向对象Java编程语言的交互尽可能顺畅。较新的Java功能如SAM,lambdas,注释和泛型在Scala中具有直接的类似性。
没有Java类似物的Scala功能,例如默认和命名参数,尽可能合理地编译为接近Java。Scala具有与Java相同的编译模型(单独的编译,动态类加载),并允许访问数千个现有的高质量库。
我的Scala~~~
end
扫描关注
等你来撩
热爱生活的人
终将被生活热爱
超级链接回顾:
以上是关于Scala都认识?厉害了~的主要内容,如果未能解决你的问题,请参考以下文章
想学python但是有好多英文不认识?python常用英文单词都在这