解構宣告(destructuring declarations):個人理解,是一種通過方便的方法得到乙個物件的成員變數
我們在乙個檔案中定義乙個person類
data class person
(val
name: string, val
age: int)
我們可以通過簡單的語法獲得這個類的name和age屬性
val
(name, age) = person
("tom", 11)
println
(name)
println
(age)
屬性結果是:
i/system.out: tom
i/system.out: 11
上面的person是資料類(data class)當我們定義乙個普通的類,看看
class
dog(val
name: string, val
age: int)
我們發現不能簡單的通過下面的方法獲取name和age的值
val
(namedog, agedog) = dog
("james", 5)
為什麼資料類可以,普通類就不可以呢?
因為資料類幫我們實現了解構宣告需要的componentn方法這個n可以是1或者2等.
我們重新定義dog類:
class
dog(val
name: string, val
age: int)
val
(namedog, agedog) = dog
("james", 5)
println
(namedog)
println
(agedog)
上面的**列印輸出:
i/system.out: james
i/system.out: 5
不解釋,看**
data class result(val result: int, val status: status)
fun function(...): result
// now, to use this function:
val (result, status) = function(...)
通過解構宣告變數map,列印key和value
val map = mapof(1
to"one", 2
to"two", 3
to"three")
for ((a, b) in map)
輸出:
i/system.out: 1-one
i/system.out: 2-two
i/system.out: 3-three
轉換乙個map的value值
val map = mapof(1
to"one", 2
to"two", 3
to"three")
val map2 = map.mapvalues
for ((a, b) in map2)
輸出:
i/system.out: 1-android_one
i/system.out: 2-android_two
i/system.out: 3-android_three
fetch簡明學習
跨網路非同步獲取資源的功能以前是使用 xmlhttprequest實現的。fetch提供了乙個更好的替代方法,可以很容易地被其他技術使用,例如 service workers。fetch還提供了單個邏輯位置來定義其他http相關概念,例如 cors和http的擴充套件 fetch 規範與 jquer...
(1)前端 CSS css的宣告學習
css學習宣告 1.在head標籤中使用style標籤宣告 作用 宣告網頁的公共樣式 2.在標籤上使用style屬性進行宣告 作用 此宣告會將css樣式直接作用於當前標籤 3.在head標籤中使用link標籤引入外部宣告好的css檔案 作用 此宣告相當於呼叫,解決了不同網頁樣式的重複使用的問題 一次...
(三)語法 變數的宣告學習shell
1.1.變數和值之間不能有空格,否則直譯器會認為是幾個命令。很多程式設計師的習慣是在 號兩邊留空格為了好看,但這點在shell中行不通。變數和值之間不能有空格 a 3b 4 而不是,a 4 b 5 2.字串不必用 號或者 上面的幾種賦值方式是等價的。除非字串之間有空格的時候。如 var hello ...