`
kane_xie
  • 浏览: 145015 次
社区版块
存档分类
最新评论

Scala入门(一):函数定义

阅读更多
最近在做一个spark项目,顺便分享一下我的scala入门过程。这一系列文章假定读者有一定的java或者其他面向对象编程语言基础。本文主要介绍scala的函数定义。

 

国际惯例,先来一段HelloWorld

object TestScala1 {
  def main(args: Array[String]): Unit = {
    val s = "Hello World!";
    show(s);
  }
  def show(s: String): Unit = {
    println(s)
  }
}

 

 

函数的定义需要关键字def,组成部分有函数名(main),参数名称(args), 参数类型(Array[String]),返回类型(Unit),大括号内是函数体。

 

函数一般都会有返回内容,Unit为空返回值。Unit可以省略。实际上在接触scala时间长了之后你会发现,Scala是一门“能省则省”的语言。比如说每行语句末尾的分号,其实是可写可不写,或者准确的说,Scala是不推荐写分号的,因为没有意义,只是凭空增加了多敲一个键的负担(仁者见仁智者见智)。

 

和Java一样,main函数是程序的主入口,但不同的是,Java的main函数是一个类中的静态函数,但Scala的类中并没有静态函数,所以引入object来持有静态函数。所以请注意我们定义的TestScala1是一个object而不是class。

 

在main函数中我们首先声明一个变量s,val代表常量,var代表变量。由于Scala实现了类型推导,因此不需要声明对象的类型。

 

然后把s传递给函数show,函数的调用与Java类似,但如果函数没有参数的话,调用时可以省略括号(能省则省。。)

 

1
1
分享到:
评论

相关推荐

    第5讲-Scala编程详解:函数入门.rar

    函数定义的基本语法如下: ```scala def functionName(args: argType): returnType = { // 函数体 } ``` 例如,定义一个名为`add`的函数,接收两个整数参数并返回它们的和: ```scala def add(x: Int, y: Int): ...

    Scala编程详解 第8讲-Scala编程详解:函数入门之过程、lazy值和异常 共5页.pptx

    当我们定义一个函数,如果函数体用花括号包围,且不使用等号`=`来连接结果,那么这个函数就被称为过程。过程的返回类型是Unit,类似于Java中的void,表示函数不返回任何值。例如: ```scala def sayHello(name: ...

    scala入门(仅供参考)

    Scala是一种多范式的编程语言,设计目标是融合面向对象编程和函数式编程的特性,它在Java虚拟机(JVM)上运行,因此可以无缝地与Java代码交互。本篇文章主要面向有一定Java开发经验的程序员,旨在帮助他们入门Scala。 ...

    Scala编程详解 第21讲-Scala编程详解:Actor入门 共8页.pptx

    Scala编程详解:Actor入门 Scala中的Actor模型是其并发编程的核心机制,它是基于消息传递的并发模型,旨在解决多线程编程中常见的竞态条件、死锁等问题。Actor系统允许程序在安全的环境中并行运行,通过异步消息...

    scala入门精华讲义

    总之,"Scala入门精华讲义"是一份全面的学习资源,旨在引导初学者逐步掌握Scala的基础语法、面向对象编程特性以及在大数据处理中的应用。通过深入学习和实践,你将能够利用Scala的强大功能,开启大数据领域的探索之...

    scala入门--文档版本

    ### Scala入门知识点详解 #### 一、Scala简介与特点 **Scala**是一种融合了面向对象编程和函数式编程特性的现代编程语言。它被设计成一种可扩展的语言,旨在克服传统编程语言的一些限制,同时保持代码的简洁性和...

    scala入门资料

    ### Scala入门知识点详解 #### 一、Scala简介与特点 Scala是一种高级编程语言,它能够与Java无缝对接,运行在JVM(Java虚拟机)之上。作为一种多范式语言,Scala支持面向对象编程和函数式编程。Scala的设计目标是...

    scala入门教程pdf

    Scala是一种多范式的编程语言,它融合了面向对象和函数式编程的概念,旨在提供一种高效、灵活且富有表达力的编程环境。Scala这个名字是“Scalable Language”的缩写,表明它能够随着项目的规模增长而扩展。在本教程...

    SCALA从入门到精通个人笔记含代码

    函数定义/声明 函数运行机制 递归 函数注意事项和细节 过程 惰性函数和异常 面向对象编程初级 类和对象 包 包对象 面向对象编程中级 封装 继承 多态 面向对象编程高级 伴生对象 特质 嵌套类 类型...

    Scala入门学习教程.docx

    Scala入门学习教程 本资源摘要信息为 Scala 入门学习教程,旨在帮助读者快速掌握 Scala 语言的基本概念和编程技术。该教程面向具有一定编程经验的读者,尤其是 Java 语言的开发者。 知识点一:Scala 语言简介 ...

    资料-scala入门到精通.zip

    例如,变量声明`val`和`var`,以及函数定义`def`。 2. **类与对象**:Scala是面向对象的语言,但它的类和对象设计更加灵活。一切皆为对象,类可以作为参数传递,也可以作为返回值。 3. **模式匹配**:Scala的模式...

    scala编程入门教材

    Scala编程入门教材旨在引导初学者踏入Scala这一强大且多用途的编程语言的世界。Scala结合了面向对象编程(OOP)和函数式编程(FP)的特性,为开发者提供了丰富的工具来构建高效、可扩展的软件系统。以下是Scala编程...

    Scala语法简明教程

    - **诞生历史**:Scala起源于瑞士联邦理工学院洛桑(EPFL),由Martin Odersky在2001年开始设计,其灵感来源于Funnel——一种结合了函数式编程思想与Petri网的编程语言。Odersky之前还参与开发了Generic Java以及Sun...

    Scala初学者入门课程笔记

    Scala 初学者入门课程笔记 ...* 函数定义:Scala 的函数定义可以包括可变参数、函数至简原则和函数作为参数传递等。 Scala 是一种功能强大且灵活的编程语言,掌握 Scala 基础语法和函数式编程是学习 Scala 的基础。

    Scala入门教程_中文版整理

    ### Scala入门教程知识点详解 #### 一、Scala简介 Scala是一种多范式的编程语言,它融合了面向对象编程和函数式编程的特点。由于Scala运行在Java平台上,因此它能够充分利用Java平台的优势,如丰富的库资源、强大...

    scala从入门到进阶

    - **视图绑定**:一种延迟计算机制,允许对大型数据集进行操作而无需立即计算所有结果。 - **flatMap、map和filter**:这些函数是函数式编程中的核心操作,用于转换和过滤集合。 3. **面向对象编程(OOP)** - *...

    写给Python程序员的Scala入门教程1

    【标题】:“写给Python程序员的Scala入门教程1” 【描述】:本教程旨在帮助熟悉Python的程序员逐步学习Scala语言,特别关注如何利用已有的Python背景来理解和掌握Scala的特性和用法。教程将探讨Scala在大数据处理...

Global site tag (gtag.js) - Google Analytics