Kotlin中陣列建立以及函式型別

2021-10-12 10:20:55 字數 2258 閱讀 4098

var arr =

intarrayof(1

,2,3

,4,5

)var arr1 =

arrayof(1

,2,3

,4,5

)var arr2 = arrayofnulls(5

)var arr3 =

array(5

)var arr4 =

intarray(5

)

對於建立乙個int型別的陣列,可以如上的5種方式進行建立。

可看如下例項:

fun

mylist

(vararg

inner

: int)

funmylist2

(vararg inner2: int?

)

上述2個方法的區別其實只在於 int後面有沒有?號,我們反編譯看一下。

public

final

class varargthinkkt

public static final void mylist2

(@notnull integer..

. inner2)

}

mylist是int… inner

mylist2是integer …inner2

我們通過例子來看看如何使用的問題

fun

mylist

(vararg

inner

: int)

funmylist2

(vararg inner2: int?

)fun

main()

我們建立array的時候,如果不需要 null,是不是用intarray更優秀了?

kotlin的每個函式都有特定的型別,函式型別由函式的形參列表,->和返回值型別組成。

3.1 使用函式型別

fun

fun1

(a: int, b: int)

: int = a + b

funfun2

(width: int, height: int)

: int

//定義函式型別

var myfun:

(int, int)

-> int

myfun =

::fun1

myfun(3

,4)//7

myfun =

::fun2

myfun(3

,4)//12

3.2函式型別作為形參
fun

square

(n: int)

: int

funcube

(n: int)

: int

funfun3

(data

: array

, fn:

(int)

-> int)

: intarray

return temp

}//函式型別做形參

var arr1 =

arrayof(1

,2,3

,4,5

)println

(fun3

(arr1,

::square)

.contenttostring()

)println

(fun3

(arr1,

::cube)

.contenttostring()

)

3.3函式型別作返回值
fun

square

(n: int)

: int

funcube

(n: int)

: int

funfun4

(type: string)

:(int)

-> int

}//函式型別做返回值

var square =

fun4

("square"

)println

(square(5

))var cube =

fun4

("cube"

)println

(cube(5

))

Kotlin中陣列 SET MAP學習筆記

package arrray author 江南一周 373654981 date 2018 06 20 10 56 created by administrator on 2018 6 20.var a arrayof 1,2,3,4 建立陣列使用了裝箱操作 var b arrayofnulls ...

Android中Kotlin語言建構函式的使用

如果要利用建構函式,kotlin必須有主建構函式 才能寫其他建構函式 這裡可以叫次建構函式 1 主建構函式 可以攜帶引數,這個引數直接成為全域性變數 在專案中的例子 public class guideviewpageradapter var context context pageradapter...

Hive中建立結構體 陣列以及map

row format delimited 分隔符設定開始語句 fields terminated by 設定欄位與字段之間的分隔符 collection items terminated by 設定乙個複雜型別 array,struct 欄位的各個item之間的分隔符 map keys termin...