1. 程式人生 > >Scala中val和var的區別

Scala中val和var的區別

Scala有兩種變數,val和var。val就不能再賦值了。與之對應的,var可以在它生命週期中被多次賦值。

val的演示:
scala> val msg=”Hello,world!”;
msg: java.lang.String = Hello,world!

scala> msg=”Hello again,world!”;
:5: error: reassignment to val
msg=”Hello again,world!”;
^

可以看出如果再次給val的變數賦值就會報錯!

var的演示:
scala> var msg2=”Hello,world!”;
msg2: java.lang.String = Hello,world!

scala> msg2=”Hello again,world!”;
msg2: java.lang.String = Hello again,world!

相關推薦

Scalavalvar區別

Scala有兩種變數,val和var。val就不能再賦值了。與之對應的,var可以在它生命週期中被多次賦值。 val的演示: scala> val msg=”Hello,world!”; msg: java.lang.String = Hello,w

ES6的letvar區別

文件 周期 cti 語句 function 作用範圍 spa 作用 方式 js函數中聲明變量有多種方式。 var xx; function test(){ var aa; //聲明一 let bb;//聲明二 this

scala 方法函式的區別

定義 方法和函式是作為兩種東西在scala中存在的,在大多數時候他們差不太多,但是時不時的可能會有一些問題體現出他們各自不一樣的情況。 函式型別:形式為(T1,…, Tn) => U,其實是FunctionN trait的簡寫形式,匿名函式和方法值具有

Scala方法函式的區別

在Scala中函式和方法有什麼區別 方法可以作為一個表示式的一部分出現(呼叫函式並傳參),但是方法(帶參方法)不能作為最終的表示式, 但是函式可以作為最終的表示式出現: scala> //定義一個方法 scala> def m(x:Int) = 2*x

scala object class的區別

object 在scala中沒有靜態方法和靜態欄位,所以在scala中可以用object來實現這些功能,直接用物件名呼叫的方法都是採用這種實現方式,例如Array.toString。物件的構造器在第一次使用的時候會被呼叫,如果一個物件從未被使用,那麼他的構造器也不會被執行;

tsjsletvar定義變數的區別

javascript 嚴格模式 第一次接觸let關鍵字,有一個要非常非常要注意的概念就是”JavaScript 嚴格模式”,比如下述的程式碼執行就會報錯: let hello = 'hello

android Kotlin: valvar區別

val用於宣告常量 /** * 宣告常量 */ fun main(args: Array<String>){ val a: Int = 1 //立即初始化 val b

scala方法函式有什麼區別

A Function Type is (roughly) a type of the form (T1, ..., Tn) => U, which is a shorthand for the trait FunctionN in the standard li

jsletvar定義變數的區別

javascript 嚴格模式 第一次接觸let關鍵字,有一個要非常非常要注意的概念就是”javascript 嚴格模式”,比如下述的程式碼執行就會報錯: let hello = 'hello world.'; console.log(hello);

Kotlin: valvar區別

val用於宣告常量 /** * 宣告常量 */ fun main(args: Array<String>){ val a: Int = 1 //立即初始化 val b

typescript letvar區別

同名 spa 技術 聲明 nbsp http img family pan 1,var可以聲明同名變量,但let不可以; var a = 0; var a = 1; // 不會報錯 let b= 0; let b = 1; // 會報錯 var的作用域是函數作用域,在

mybatis的#$的區別

背景 插入 trac sql註入 -m .com article 參數 -s 1. #將傳入的數據都當成一個字符串,會對自動傳入的數據加一個雙引號。如:order by #user_id#,如果傳入的值是111,那麽解析成sql時的值為order by "111", 如果傳

hibernatehql語句listiterate區別

每次 hibernate 寫入 所有 讀取 條件 iter 查詢 hql 1.使用list()方法獲取查詢結果,每次發出一條語句,獲取全部數據。2.使用iterate()方法獲取查詢結果,先發出一條SQL語句用來查詢滿足條件數據的id,然後依次按照這些id查詢記錄,也就是要

javaArrayListLinkedList區別

插入 list 新的 查找 arr tro 基於 列表 時間復雜度 ArrayList和LinkedList最主要的區別是基於不同數據結構 ArrayList是基於動態數組的數據結構,LinkedList基於鏈表的數據結構,針對這點,從時間復雜度和空間復雜度來看主要區別:

mysqlreplicate_wild_do_tablereplicate_do_db區別

lan rep cati mil 多人 pan think lte 避免 使用replicate_do_db和replicate_ignore_db時有一個隱患,跨庫更新時會出錯。 如在Master(主)服務器上設置 replicate_do_db=test(my.conf

linux ll ls 區別

彩色 顯示文件 時間排序 linux 常用 所有 數字 名稱 sub ll 列出來的結果詳細,有時間,是否可讀寫等信息 ,象windows裏的 詳細信息ls 只列出文件名或目錄名 就象windows裏的 列表ll -t 是降序, ll -t | tac 是升序 ll不是

jsdecodeURI()encodeURI()區別,decodeURIComponentencodeURIComponent區別

nbsp sch www 問題 encode 替換 副本 字符替換 序列 decodeURI()定義和用法:decodeURI()函數可對encodeURI()函數編碼過的URI進行解碼.語法:decodeURI(URIstring)參數描述:URIstring必需,一個字

HTP協議URIURL區別

int 名稱 net form 打開 文件路徑 指定 支持 地址 URL(uniform resource location ):統一資源定位符 URI(uniform resource identifier):統一資源標誌符 URI:可以表示一個域,也可以表示一個

mysqlvarcharchar區別(思維導圖整理)

var 但是 系統 mysql 由於 varchar .html nbsp 了解   由於mysql一直是我的弱項(其實各方面我都是很弱的),所以最近在看msyql,正好看到varchar和char區別,所以整理一下,便於以後遺忘。      0.0圖片已經說明一切,但是系

JavaScriptNullundefind區別

cdc 如何 undefine 只有一個 som pre cnblogs 定義 報錯 公眾號原文 Javascript有5種基本類型:Boolean,Number,Null,Undefined,String;和一種復雜類型:Object(對象); undef