成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Windows下怎么搭建Scala開發(fā)環(huán)境

這篇文章主要介紹“Windows下怎么搭建Scala開發(fā)環(huán)境”,在日常操作中,相信很多人在Windows下怎么搭建Scala開發(fā)環(huán)境問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”Windows下怎么搭建Scala開發(fā)環(huán)境”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)公司執(zhí)著的堅(jiān)持網(wǎng)站建設(shè),成都微信小程序;我們不會(huì)轉(zhuǎn)行,已經(jīng)持續(xù)穩(wěn)定運(yùn)營十余年。專業(yè)的技術(shù),豐富的成功經(jīng)驗(yàn)和創(chuàng)作思維,提供一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造品牌,攜手廣大客戶,共同發(fā)展進(jìn)步。

第一章 Scala 語言概述

1.1 why is Scala 語言?

1、Spark--新一代內(nèi)存級(jí)大數(shù)據(jù)計(jì)算框架,是大數(shù)據(jù)的重要內(nèi)容。
2、Spark 就是使用 Scala 編寫的。因此為了更好的學(xué)習(xí) Spark, 需要掌握 Scala 這門語言。
3、Scala 是 Scalable Language 的簡寫,是一門多范式(范式=編程方式[面向?qū)ο?函數(shù)式編程])的編程語言。
4、聯(lián)邦理工學(xué)院洛桑(EPFL)的 Martin Odersky(馬丁·奧德斯基) 于 2001 年開始設(shè)計(jì) Scala(斯卡拉)。
5、Spark 的興起,帶動(dòng) Scala 語言的發(fā)展!

1.2 Scala 語言誕生小故事

??創(chuàng)始人馬丁·奧德斯基 (Martin Odersky) 是編譯器及編程的狂熱愛好者,長時(shí)間的編程之后,希望發(fā)明一種語言,能夠讓寫程序這樣的基礎(chǔ)工作變得高效、簡單。所以當(dāng)接觸到 JAVA 語言后,對(duì) JAVA 這門便攜式、運(yùn)行在網(wǎng)絡(luò)、且存在垃圾回收的語言產(chǎn)生了極大的興趣,所以決定將函數(shù)式編程語言的特點(diǎn)融合到 JAVA 中,由此發(fā)明了兩種語言(Pizza & Scala)。 (大量使用遞歸)
??jdk5.0 的泛型、for 循環(huán)增強(qiáng),、自動(dòng)類型轉(zhuǎn)換等,都是從 Pizza 引入的新特性。
??jdk8.0 的類型推斷、Lambda 表達(dá)式 就是從 scala 引入的特性。
??Pizza 和 Scala 極大地推動(dòng)了 Java 編程語言的發(fā)展。[如何理解?]
??且現(xiàn)在主流 JVM 的 javac 編譯器就是 馬丁·奧德斯基 編寫出來的。并被 JAVA 編程人員廣泛的使用,所以 Scala 語言起源于 Java,卻推動(dòng)著 Java 的發(fā)展,它們是相輔相成的。Jdk5.0、Jdk8.0 的編譯器就是 馬丁·奧德斯基 寫的,因此 馬丁·奧德斯基 是一個(gè)人的戰(zhàn)斗力抵得上一個(gè) Java 開發(fā)團(tuán)隊(duì)。
??


??正是基于上面的原因,所以 Scala 源代碼 (.scala) 會(huì)被編譯成 Java 字節(jié)碼 (.class),然后運(yùn)行于 JVM 之上,并可以調(diào)用現(xiàn)有的 Java 類庫,實(shí)現(xiàn)兩種語言的無縫對(duì)接,因此,對(duì)于已經(jīng)掌握 JAVA 語言的我們來講,學(xué)習(xí)起來一定會(huì)略顯輕松。
??Scala 是一門以 java 虛擬機(jī)(JVM) 為目標(biāo)運(yùn)行環(huán)境并將 面向?qū)ο?/code>和 函數(shù)式編程的最佳特性結(jié)合在一起的 靜態(tài)類型編程語言。(運(yùn)行之前一定知道類型是什么)

 

1.3 Scala 和 Java 以及 jvm 的關(guān)系分析圖

??一般來說,學(xué) Scala 的人,都會(huì) Java,而 Scala 是基于 Java 的,因此我們需要將 Scala 和 Java 以及 JVM 之間的關(guān)系搞清楚,否則學(xué)習(xí) Scala 你會(huì)蒙圈。
??建議:如果沒有任何 Java 基礎(chǔ)的同學(xué),先學(xué) Java,至少要學(xué)習(xí) JavaSE,再學(xué)習(xí) Scala。
??我們分析一下:Scala 和 Java 以及 jvm 的關(guān)系 (重要?。?!)
??

Windows下怎么搭建Scala開發(fā)環(huán)境


2、

Windows下怎么搭建Scala開發(fā)環(huán)境

1.6 Linux 下搭建 Scala 開發(fā)環(huán)境

??在實(shí)際開發(fā)中,我們的項(xiàng)目是部署到 linux 上,因此,我們需要在 Linux 下搭建 scala 的環(huán)境。Linux 下安裝 Scala 的原理機(jī)制一樣,操作的具體步驟:
1、下載對(duì)應(yīng)的 scala 的安裝軟件 scala-2.11.8.tgz
2、通過遠(yuǎn)程登錄工具,將安裝軟件上傳到對(duì)應(yīng)的 Linux 系統(tǒng)(xshell6 和 xftp6)
3、mkdir /opt/module/scala 創(chuàng)建目錄
4、解壓:$ tar -zvxf /opt/software/scala-2.11.8.tgz -C /opt/module/scala/
5、配置環(huán)境變量 vim /etc/profile
在該文件中配置 scala 的 bin 目錄 /opt/module/scala/scala-2.11.8/bin

#SCALA_HOME
export SCALA_HOME=/opt/module/scala/scala-2.11.8
export PATH=$PATH:$SCALA_HOME/bin

6、使配置文件生效 source /etc/profile
7、測(cè)試,命令:scala

Windows下怎么搭建Scala開發(fā)環(huán)境


對(duì) scala 程序基本結(jié)構(gòu)說明:

1.8.2 linux 下開發(fā)步驟

步驟如下:
??1、直接使用 vim 開發(fā),一個(gè)遍歷數(shù)組的案例。
??2、將 Scala 代碼編寫到擴(kuò)展名為 HelloScala.scala 的文件中。[代碼說明]
??3、通過 scala 命令對(duì)該 scala 文件進(jìn)行編譯,生成 .class 字節(jié)碼文件。
??4、在終端執(zhí)行 scala HelloScala 就可以看到運(yùn)行效果。
??5、注意:通過 scala HelloScala 命令可以直接運(yùn)行 HelloScala.scala 程序。
代碼如下:

/**
  * 只要以后看到 object HelloScala,我們就應(yīng)該有如下認(rèn)識(shí):
  *     1、object HelloScala 對(duì)應(yīng)的是一個(gè) HelloScala$ 類型的靜態(tài)對(duì)象 MODULE$。
  *     2、object HelloScala 在程序運(yùn)行中是單例存在的。
  */
object HelloScala {
  def main(args: Array[String]): Unit = {
    println("hello scala")
  }
}

1.8.3 IDEA 下開發(fā)步驟

??使用文本工具開發(fā)項(xiàng)目可以很好的理解運(yùn)行原理,但是不利于開發(fā)綜合項(xiàng)目,所以在實(shí)際開發(fā)中我們要使用 Idea 來開發(fā)。
步驟如下:
??1、新建一個(gè) Maven 工程,在工程的 main 目錄下新建一個(gè) scala 文件夾,將該文件夾標(biāo)記為【源碼文件夾】,方便管理。右鍵 scala -> Mark Directory as -> Sources Root
??2、默認(rèn)情況下,不能寫 scala 程序,需要我們引入 scala 框架(即將該工程關(guān)聯(lián)上 scala),選中該項(xiàng)目右鍵 -> Add Framework Support… -> 勾選左側(cè) Scala -> 指定 Scala 安裝的主目錄 -> OK。
??3、在 scala 文件夾上右擊,選擇新建一個(gè) Scala 類,勾選 Kind 為 Object,如下圖所示:
??

Windows下怎么搭建Scala開發(fā)環(huán)境


??4、開發(fā)一個(gè) HelloScala.scala 程序。
??5、運(yùn)行后,就可以看到輸出。
??

1.8.4 使用 java 寫一段模擬代碼,來模擬 scala 的執(zhí)行流程

代碼如下:

package com.atguigu.chapter01.Test;

/**
 * 可以理解我們?cè)?nbsp;main 中寫的代碼放在 HelloScala$ 的 mian 里,即 scala 在底層運(yùn)行的時(shí)候,編譯器做了一個(gè)包裝。
 */
public class HelloScala {

    public static void main(String[] paramArrayOfString) {
        HelloScala$.MODULE$.main(paramArrayOfString);
    }
}

final class HelloScala$ {
    public static final HelloScala$ MODULE$;

    static {
        MODULE$ = new HelloScala$();
    }

    public void main(String[] args) {
        System.out.println("hello scala");
    }
}

1.8.5 Scala 執(zhí)行流程分析

Windows下怎么搭建Scala開發(fā)環(huán)境

1.8.6 Scala 程序開發(fā)注意事項(xiàng)(重點(diǎn))

注意事項(xiàng):
??1、Scala 源文件以 “.scala" 為擴(kuò)展名。
??2、Scala 程序的執(zhí)行入口是 main() 函數(shù)。
??3、Scala 語言嚴(yán)格區(qū)分大小寫。
??4、Scala 方法由一條條語句構(gòu)成,每個(gè)語句后不需要分號(hào)(Scala 語言會(huì)在每行后自動(dòng)加分號(hào)),這也體現(xiàn)出 Scala 的簡潔性。
??5、如果在同一行有多條語句,除了最后一條語句不需要分號(hào),其它語句需要分號(hào)。

1.9 Scala 語言轉(zhuǎn)義字符

\t      :一個(gè)制表位,實(shí)現(xiàn)對(duì)齊的功能
\n      :換行符
\\      :一個(gè)\
\"      :一個(gè)"
\r      :一個(gè)回車  println("hello\rk");

1.10 Scala 語言輸出的三種方式

??1、字符串通過+號(hào)連接(類似java)。
??2、printf 用法(類似C語言)字符串通過 % 傳值。
??3、字符串通過 $ 引用(類似PHP)。
示例代碼:

package com.atguigu.chapter01

object PrintDemo {

  def main(args: Array[String]): Unit = {
    val str1: String = "hello"
    val str2: String = "world"
    // 連接打印
    println(str1 + str2)

    val name: String = "tom"
    val age: Int = 10
    val sal: Float = 10.67f
    val height: Double = 180.75
    // 格式化輸出
    printf("名字=%s 年齡=%d 薪水=%.2f 身高=%.3f", name, age, sal, height)

    // scala 支持使用 $ 輸出內(nèi)容
    println(s"個(gè)人信息如下1:\n 名字$name\n 年齡$age\n 薪水$sal\n")
    // 如果字符串中出現(xiàn)了類似 ${age + 10} ,則表示 {} 是一個(gè)表達(dá)式
    println(s"個(gè)人信息如下2:\n 名字${name}\n 年齡${age + 10}\n 薪水${sal}\n")
  }
}

輸出結(jié)果:

helloworld
名字=tom 年齡=10 薪水=10.67 身高=180.750
個(gè)人信息如下1:
名字tom
年齡10
薪水10.67

個(gè)人信息如下2:
名字tom
年齡20
薪水10.67

1.11 Scala 源碼的查看的關(guān)聯(lián)

??在使用 scala 過程中,為了搞清楚 scala 底層的機(jī)制,需要查看源碼,下面看看如果關(guān)聯(lián)和查看 scala 的源碼包。
1、查看源碼, 選擇要查看的方法或者類, 輸入 Ctrl + B 或者 雙擊
當(dāng)我們沒關(guān)聯(lián)源碼時(shí),會(huì)看到如下圖:

Windows下怎么搭建Scala開發(fā)環(huán)境


我么可以點(diǎn)擊 Download… 自動(dòng)下載源碼,也可以手動(dòng)關(guān)聯(lián)源碼。

2、手動(dòng)關(guān)聯(lián)源碼
源碼包下載地址:link,修改我們下載的源碼包 scala-2.11.8.tar.gz 包名為 scala-sources-2.11.8.tar.gz,為了方便識(shí)別
步驟一:將我們的源碼包拷貝至 scala/lib 文件夾下(scala-sources-2.11.8.tar.gz),這樣為了方便管理,然后進(jìn)行解壓(因?yàn)?IDEA 不識(shí)別 xxx.tar.gz 這種格式的壓縮包)
步驟二:關(guān)聯(lián)即可,點(diǎn)擊 Attach Sources…,選中 scala-sources-2.11.8 這個(gè)文件夾,進(jìn)行關(guān)聯(lián),最后,可以看到源碼

1.12 注釋

1.12.1 介紹

??用于注解說明解釋程序的文字就是注釋,注釋提高了代碼的閱讀性。
??注釋是一個(gè)程序員必須要具有的良好編程習(xí)慣。將自己的思想通過注釋先整理出來,再用代碼去體現(xiàn)。

1.12.2 Scala 中的注釋類型

??1、單行注釋:格式:// 注釋文字
??2、多行注釋:格式: /* 注釋文字 */
??3、文檔注釋:注釋內(nèi)容可以被工具 scaladoc 所解析,生成一套以網(wǎng)頁文件形式體現(xiàn)的該程序的說明文檔。

1.12.3 文檔注釋案例

??1、打開文件所在的目錄,選中文件右鍵 -> Show in Explorer
??2、在命令行窗口中輸入 scaladoc -d d:/mydoc Comment.scala 可以生成對(duì)應(yīng)的文檔說明。
示例代碼如下:

package com.atguigu.chapter01

object Comment {
  def main(args: Array[String]): Unit = {
    println("hello world")
  }

  /**
    * @deprecated 過期
    * @example
    *          輸入 n1 = 10 n2 = 20 return 30
    * @param n2
    * @return 求和
    */
  def sum(n1: Int, n2: Int): Int = {
    return n1 + n2
  }
}

1.12.4 scala 的代碼規(guī)范說明

1.12.5 正確的注釋和注釋風(fēng)格

??查看 Scala 源碼。

1.12.6 正確的縮進(jìn)和空白

??1、使用一次 tab 操作,實(shí)現(xiàn)縮進(jìn),默認(rèn)整體向右邊移動(dòng),使用 Shift + Tab 整體向左移。
??2、或者使用 Ctrl + Alt + L 來進(jìn)行格式化代碼。
??3、運(yùn)算符兩邊習(xí)慣性各加一個(gè)空格。比如:2 + 4 * 5。
??4、一行最長不超過 80 個(gè)字符,超過的請(qǐng)使用換行展示,盡量保持格式優(yōu)雅。

1.12.7 Scala 官方編程指南

API 下載地址:scala-api

Windows下怎么搭建Scala開發(fā)環(huán)境

到此,關(guān)于“Windows下怎么搭建Scala開發(fā)環(huán)境”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

網(wǎng)站欄目:Windows下怎么搭建Scala開發(fā)環(huán)境
當(dāng)前網(wǎng)址:http://jinyejixie.com/article40/ppehho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站關(guān)鍵詞優(yōu)化、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站營銷、ChatGPT、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

诸城市| 教育| 龙岩市| 拜泉县| 岱山县| 威海市| 澄城县| 繁峙县| 阿拉善右旗| 鹤壁市| 贵州省| 榆社县| 宁陕县| 巴东县| 稷山县| 绵竹市| 安阳县| 丰原市| 丰宁| 云南省| 安化县| 满洲里市| 社会| 安顺市| 睢宁县| 襄樊市| 马边| 常宁市| 灵台县| 抚州市| 习水县| 大关县| 额敏县| 凤山市| 额尔古纳市| 丁青县| 堆龙德庆县| 苗栗市| 育儿| 乐亭县| 林甸县|