mirror of
https://github.com/wahyd4/one-knowledge.git
synced 2026-08-09 05:06:40 +10:00
Initial import: links posts + github knowledge
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
---
|
||||
title: Kotlin
|
||||
created: 2021-05-07
|
||||
updated: 2021-05-07
|
||||
type: summary
|
||||
tags: [tech, reference]
|
||||
external: https://github.com/wahyd4/knowledge/blob/master/categories/kotlin.md
|
||||
---
|
||||
|
||||
# Kotlin
|
||||
|
||||
## Some tips
|
||||
|
||||
### Builder mode in kotlin
|
||||
|
||||
```kotlin
|
||||
class Car(
|
||||
val model: String?,
|
||||
val color: String?,
|
||||
val type: String?) {
|
||||
|
||||
data class Builder(
|
||||
var model: String? = null,
|
||||
var color: String = "pink",
|
||||
var type: String? = null) {
|
||||
|
||||
fun model(model: String) = apply { this.model = model }
|
||||
fun color(color: String) = apply { this.color = color }
|
||||
fun type(type: String) = apply { this.type = type }
|
||||
fun build() = Car(model, color, type)
|
||||
}
|
||||
}
|
||||
//use
|
||||
val car = Car.Builder()
|
||||
.model("Ford Focus")
|
||||
.color("Black")
|
||||
.type("Type")
|
||||
.build()
|
||||
```
|
||||
Based on [stackoverflow](https://stackoverflow.com/questions/36140791/how-to-implement-builder-pattern-in-kotlin)
|
||||
Reference in New Issue
Block a user