# 1. 前言
在上一小節中了解了`Kotlin`的擴展函數,接下來使用`Kotlin`的擴展屬性。我們知道在類中可以定義屬性和方法,而方法也就是函數。所以這里的屬性其實也就是類的屬性。類似的,這里還是以案例說明:
~~~
// 自定義屬性,統計字符串中包含[a,b,c,d]任意字母的個數
val String.Count
get() = count { "abcd".contains(it) }
fun main() {
println("abuisfkjac".Count)
}
~~~
結果:
```
4
```
至于這個`count`函數為什么可以統計包含的字符的出現個數,不妨看看源碼:
~~~
public inline fun CharSequence.count(predicate: (Char) -> Boolean): Int {
var count = 0
for (element in this) if (predicate(element)) ++count
return count
}
~~~
從上面源碼我們可以知道,在計數的時候,使用的是遍歷每個字符進行統計。所以可以對傳入的字符串進行是否在當前`this`字符串中進行統計計數。
- Kotlin語言基礎
- Kotlin的簡介
- Kotlin的變量和常見數據類型
- Kotlin的區間
- Kotlin的位運算
- Kotlin的容器
- Kotlin類型檢查
- Kotlin的空值處理
- Kotlin的函數
- Kotlin的類
- Kotlin的委托
- Kotlin的延遲加載
- Kotlin的異常
- Kotlin的Lambda表達式
- Kotlin的高階函數
- Kotlin的標準庫中的高階函數
- Kotlin的泛型
- Kotlin的表達式
- Kotlin的解構
- Kotlin的運算符重載
- Kotlin語言中級
- Kotlin的擴展函數
- Kotlin的擴展屬性
- Kotlin的infix關鍵字
- Kotlin的DSL
- Kotlin的一些注解(和Java互調用)
- Kotlin的lateinit和by lazy
- Kotlin的反射
- Kotlin的匿名接口
- 安卓中的Kotlin
- 數據庫操作Room