时间比较紧,所以直接上代码,解释在代码中:/** * @author hnyd */class HelloClass { }//scala 中都是public类class Person{ //不带构造函数函数的 var name:String=_ //会生成getter和setter val age=10 //只会生成getter //添加private[this]声明的变量,只能在类的内部使用 private[this] val gendar="male" }//这是一个主构造器//1、定义一个主构造器后,其颞部声明的变量,会生成相应的字段//2、类中...
本文中,我们将首先讨论如何在本地机器上利用Spark进行简单分析。然后,将在入门级水平探索Spark,了解Spark是什么以及它如何工作(希望可以激发更多探索)。最后两节将开始通过命令行与Spark进行交互,然后演示如何用Python写Spark应用,并作为Spark作业提交到集群上。同时也会提供相应的 Scala 版本。1、设置Spark环境在本机设置和运行Spark非常简单。你只需要下载一个预构建的包,只要你安装了Java 6+和Python 2.6+,就可以在Wi...
本节主要内容类型变量界定(Type Variable Bound)视图界定(View Bound)上界(Upper Bound)与下界(Lower Bound)1. 类型变量界定(Type Variable Bound)类型变量界定是指在泛型的基础上,对泛型的范围进行进一步的界定,从而缩下泛型的具体范围,例如:
//下面的类编译通不过//因为泛型T在编译的时候不能确定其具体类型//即并不是所有的类中都存在compareTo方法classTypeVariableBound {def compare[T](first:T,second:T)={if (fir...
本节主要内容高阶函数简介Scala中的常用高阶函数SAM转换函数柯里化偏函数1. 高阶函数简介高阶函数主要有两种:一种是将一个函数当做另外一个函数的参数(即函数参数);另外一种是返回值是函数的函数。这两种在本教程的第五节 函数与闭包中已经有所涉及,这里简单地回顾一下: (1)函数参数//函数参数,即传入另一个函数的参数是函数
//((Int)=>String)=>String
scala> def convertIntToString(f:(Int)=>String)=f(4)convertIntTo...
Scala快速入门(四)——继承、接口一、继承1.继承的概念:省略2.模板:class Person(n:String,a:Int) {var name:String=nvar age:Int=adef showInfo():Unit={println("学生信息如下")println("名字:"+name)println("年龄:"+age)}
}
class Student(n:String,a:Int) extends Person(n,a){def study():Unit={println(this.name+". Im learning scala. ")}
}3.方法的重写直接在方法之前用override进行修饰案例:class OverRideTest ...
本节主要内容模式匹配的类型for控制结构中的模式匹配option类型模式匹配1. 模式的类型1 常量模式object ConstantPattern{def main(args: Array[String]): Unit = {//注意,以下定义的是一个函数//函数的返回值利用的是模式匹配后的结果作为其返回值//还须要注意的是函数定义在main方法中//也即scala语言能够在一个函数中定义另外一个函数def patternShow(x:Any)=x match {case5 => "five"casetrue=>"true"case"test"=>"String"case...
[大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world原文链接:http://www.cnblogs.com/blog5277/p/8615984.html原文作者:博客园--曲高终和寡 点击下面菜单查看大数据入门全部教程大数据从入门到放弃网址:http://www.cnblogs.com/blog5277/category/1179528.html**********************************分割***********************************其实按理说,Java项目是完全可以开发spark项目的...
作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs一、下载Scala当前Scala的最新版本为2.10.2版,Windows有两种发布包:1)Windows (zip archive) scala-2.10.2.zip2)Windows (msi) scala-2.10.2.msi此外还有一个工具:Scala tool support (zip) scala-tool-support-2.10.2.zip 但是Scala最方便的安装方式是通过IDE安装,目前支持Eclipse、NetBeans和Intellij...
Scala 默认参数在Scala中,有时我们调用某些函数时,不希望给出参数的具体值,而希望使用参数自身默认的值,此时就定义在定义函数时使用默认参数。 def sayHello(firstName: String, middleName: String = "William", lastName: String = "Croft") = firstName + " " + middleName + " " + lastName 如果给出的参数不够,则会从作往右依次应用参数 Scala 与 Java实现默认参数的区别Java:public void sayHello(String name, int a...
Scala IDEA安装入门ScalaScala(发音为/?skɑ?l?, ?ske?l?/)是一门多范式的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。Scala是一门以java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言。 Scala 是一门多范式 (multi-paradigm) 的编程语言,Scala支持面向对象和函数式编程。Scala源代码(.scala)会被编译成Java字节码(.class),然后运行于JVM之上,并可以调用现...
Scala中Trait是一种特殊概念首先我们可以将Triat做为接口来使用,此时的Triat就与java中的接口非常相似在Triat中可以定义抽象方法,就与抽象类中的抽象方法一样,只要不给出具体的实现即可类可以使用extend是关键字来继承Triat,注意这里不是Implement,而是extends,在Scala中没有Implement的概念,无论是继承还是Triat都是extends类继承Triat后,必须实现其中的抽象方法,实现是不需要override关键字Scala不支持对类进行多继承,...
本节主要内容Scala Mavenproject的创建Scala JDBC方式訪问MySQLSlick简单介绍Slick数据库编程实战SQL与Slick相互转换本课程在多数内容是在官方教程上改动而来的,官方给的样例是H2数据库上的。经过本人改造,用在MySQL数据库上,官方教程地址:http://slick.typesafe.com/doc/2.1.0/sql-to-slick.html1. Scala Mavenproject的创建本节的project项目採用的是Maven Project,在POM.xml文件里加入以下两个依赖就能够使用scala进行JDBC...
Scala 过程 在Scala中,定义函数时,如果函数体直接包裹在了花括号里面,而没有使用=连接,则函数的返回值类型就是Unit。这样的函数就被称之为过程。过程通常用于不需要返回值的函数。 过程还有一种写法,就是将函数的返回值类型定义为Unit。 def sayHello(name: String) = "Hello, " + name def sayHello(name: String) { print("Hello, " + name); "Hello, " + name } def sayHello(name: String): Unit = "Hello, " + name la...
Scala: 一门多范式编程语言
线上平台
一.Scala特性面向对象
函数式编程
静态类型
可扩展语言类型二.Scala语言入门
1.数据类型数据类型
描述Int
32位有符号补码整数Float
32位 IEEE754单精度浮点数Double
32位 IEEE754双精度浮点数String
字符序列Boolean
True/FalseUnit
同java void :无值,用在不返回任何结果的类型2.常量与变量
常量定义方法
val 常量名:数据类型=内容
val 常量名=内容有声明类型定义无声明类型定义变量定义方法
...
><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.18</version></dependency><dependency><groupId>com.typesafe.slick</groupId><artifactId>slick_2.11</artifactId><version>2.1.0</version></dependency>scala IDE for eclipse 中创建scala Maven项目的方式如下:
在Eclispe 中点击” File->new->other”,如下图 输入Maven可以看到Maven Project:
直接next,得到 再点击next,在filter...