Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---
- marp: true
- theme: uncover
- class: invert
- ---
- <style>
- p {
- font-size: 30px;
- }
- </style>
- # Kotlin - ֆունկցիաներ
- ---
- ##### Պարզագույն ֆունկցիայի հայտարարումը
- ```kotlin
- fun greet(): Unit {
- println("Hello!")
- }
- ```
- նույնն է, թե
- ```kotlin
- fun greet() {
- println("Hello!")
- }
- ```
- նույնն է, թե
- ```kotlin
- fun greet() = println("Hello!")
- ```
- ---
- #### Պարամետր ընդունող ֆունկցիաներ
- ```kotlin
- fun greet(name1: String, name2: String) {
- println("Hello $name1 and $name2!")
- }
- ```
- ###### Կանչը
- ```kotlin
- greet(name2 = "Sam", name1 = "Bob")
- ```
- նույնն է, թե
- ```kotlin
- greet("Bob", "Sam")
- ```
- ---
- #### Default պարամետրերով ֆունկցիաներ
- ```kotlin
- fun greet(name1: String = "you", name2: String ="you") {
- println("Hello $name1 and $name2!")
- }
- ```
- ###### Կանչը
- ```kotlin
- greet() // Hello you and you!
- greet("Bob") // Hello Bob and you!
- greet(name2 = "Sam") // Hello you and Sam!
- greet("Bob", "Sam") // Hello Bob and Sam!
- ```
- ---
- #### Փոփոխական քանակով պարամետրեր
- ```kotlin
- fun greet(vararg names: String) {
- println("Hello ${names.contentToString()}!")
- }
- ```
- ```kotlin
- greet("Bob", "Sam") // Hello [Bob, Sam]!
- ```
- ---
- #### Արժեք վերադարձնող ֆունկցիաներ
- ```kotlin
- fun square(x: Int): Int {
- return x * x
- }
- ```
- ```kotlin
- fun square(x: Int) = x * x
- ```
- ---
- #### Null safety պարամետրերի տիպերում և վերադարձվող արժեքի տիպում
- ```kotlin
- fun foo(name: String?): String {
- return name // կոմպիլյացիայի սխալ
- }
- ```
- ...
- ---
- ```kotlin
- fun foo(name: String?): String {
- return if (name != null) {
- // name: String? -> name: String
- name
- }
- else {
- "empty"
- }
- }
- ```
- ```kotlin
- fun foo(name: String?): String {
- if (name == null) {
- return "empty"
- }
- // name: String? -> name: String
- return name
- }
- ```
- ---
- #### Extension ֆունկցիաներ
- ```kotlin
- import java.util.Arrays // (!)
- fun IntArray.grow(element: Int): IntArray {
- val elementIndex = size
- val result = Arrays.copyOf(this, index + 1)
- result[elementIndex] = element
- return result
- }
- ```
- ```kotlin
- val array = intArrayOf(1, 2, 3)
- val grownArray = array.grow(4)
- println(grownArray.contentToString()) // [1, 2, 3, 4]
- ```
- ---
- #### Infix ֆունկցիաներ
- ```kotlin
- import java.util.Arrays // (!)
- infix fun IntArray.grow(element: Int): IntArray {
- val elementIndex = size
- val result = Arrays.copyOf(this, index + 1)
- result[elementIndex] = element
- return result
- }
- ```
- ```kotlin
- val array = intArrayOf(1, 2, 3)
- val grownArray = array grow 4
- println(grownArray.contentToString()) // [1, 2, 3, 4]
- ```
- ---
- #### Օպերատորային ֆունկցիաներ
- ```kotlin
- import java.util.Arrays // (!)
- operator fun IntArray.plus(element: Int): IntArray {
- val elementIndex = size
- val result = Arrays.copyOf(this, index + 1)
- result[elementIndex] = element
- return result
- }
- ```
- ```kotlin
- val array = intArrayOf(1, 2, 3)
- val grownArray = array + 4
- println(grownArray.contentToString()) // [1, 2, 3, 4]
- ```
Advertisement
Add Comment
Please, Sign In to add comment