当前位置: 首页 > news >正文

Scala 安装使用教程

一、Scala 简介

Scala 是一种基于 JVM 的现代编程语言,融合了面向对象和函数式编程范式。它兼容 Java 库,支持类型推断、不可变数据结构、并发编程等特性,广泛应用于大数据(如 Apache Spark)、分布式系统、Web 应用开发等领域。


二、Scala 安装方式

2.1 安装 Java 环境(JDK)

Scala 运行在 JVM 上,因此需先安装 JDK(推荐 JDK 8 或以上):

java -version
javac -version

若未安装,可前往 https://adoptium.net/ 下载并配置。


2.2 安装 Scala(方式一:命令行工具 cs

推荐使用 Coursier(Scala 官方工具)安装:

curl -fL https://github.com/coursier/launchers/raw/master/cs-x86_64-pc-linux.gz | gzip -d > cs
chmod +x cs
./cs setup

该命令将自动安装 Scala、sbt、Ammonite 等工具。


2.3 安装 Scala(方式二:通过 SDKMAN)

适用于 macOS/Linux:

curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install scala

三、验证安装

scala -version
scalac -version

输出示例:

Scala code runner version 3.3.1

四、运行第一个 Scala 程序

4.1 使用 Scala 脚本模式(REPL)

scala
> println("Hello, Scala!")

4.2 编译执行 .scala 文件

创建 Hello.scala

object Hello {def main(args: Array[String]): Unit = {println("Hello, Scala!")}
}

编译运行:

scalac Hello.scala
scala Hello

五、使用 sbt 构建项目

sbt 是 Scala 官方推荐的构建工具,类似于 Java 的 Maven 或 Gradle。

5.1 安装 sbt

推荐使用 cs setup 或手动安装:https://www.scala-sbt.org/download.html

5.2 创建新项目

sbt new scala/hello-world.g8
cd hello-world
sbt run

六、Scala 编辑器推荐

  • IntelliJ IDEA + Scala 插件(官方支持)
  • Visual Studio Code + Metals 插件
  • Sublime Text / Vim / Emacs + Metals

七、常见问题

Q1: scala: command not found

请检查是否已安装 Scala,并配置环境变量 PATH。

Q2: sbt 下载慢?

建议配置国内镜像,例如阿里云、华为云或清华源。


八、学习资源推荐

  • Scala 官方网站
  • Scala 中文社区
  • Scala 3 文档
  • Scala 教程 - 菜鸟教程
  • Rock the JVM 课程

本文由“小奇Java面试”原创发布,转载请注明出处。

可以搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

在这里插入图片描述

http://www.dtcms.com/a/265295.html

相关文章:

  • windows系统下将Docker Desktop安装到除了C盘的其它盘中
  • 前端可视化——Canvas实战篇
  • Docker Compose 基础——AI教你学Docker
  • 《寻北技术的全面剖析与应用前景研究报告》
  • 【4】 Deployment深入简出实战演练
  • 无代码自动化测试工具介绍
  • Java中创建线程方法以及线程池参数配置
  • (LeetCode ) 13. 罗马数字转整数 (哈希表)
  • 跨越十年的C++演进:C++20新特性全解析
  • 软件反调试(3)- 基于父进程的检测
  • Python 高光谱分析工具(PyHAT)
  • 【数字后端】- 什么是AOI、OAI cell?它们后面数字的含义
  • seaborn又一个扩展heatmapz
  • 利用tcp转发搭建私有云笔记
  • Java--多态--向上转型--动态绑定机制--断点调试--向下转型
  • IO进程线程 (进程)
  • 旋转不变子空间( ESPRIT) 算法
  • 算法笔记上机训练实战指南刷题
  • pytorch学习-9.多分类问题
  • WSL2 + Docker Desktop 环境中查看本地镜像
  • 基于SpringBoot的场地预定管理系统
  • Springboot开发常见注解一览
  • 记一次finallshell.exe打开无法应的处理
  • 【卡尔曼滤波第二期】一维无过程噪声的卡尔曼滤波
  • 红黑树:高效平衡的秘密
  • 声网支持弱网对抗保障直播不卡不花屏
  • Android Native 之 init初始化selinux机制
  • Beamer-LaTeX学习(教程批注版)【4】
  • (LangChain)RAG系统链路向量检索器之Retrievers(五)
  • 设计模式精讲 Day 23:访问者模式(Visitor Pattern)