Koltin簡明學習,解構宣告

2021-08-02 20:58:31 字數 1968 閱讀 2519

解構宣告(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 ...