Bird
Raised Fist0
Kotlinprogramming~5 mins

Lambda syntax and declaration in Kotlin - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a lambda expression in Kotlin?
A lambda expression is a small block of code that can be passed around and executed later. It is like a mini-function without a name.
Click to reveal answer
beginner
How do you declare a simple lambda that takes two integers and returns their sum?
You write: { a: Int, b: Int -> a + b }. This means the lambda takes two integers a and b and returns their sum.
Click to reveal answer
beginner
What is the syntax to assign a lambda to a variable in Kotlin?
You assign it like this: val sum: (Int, Int) -> Int = { a, b -> a + b }. Now sum holds the lambda and you can call it like a function.
Click to reveal answer
beginner
How do you call a lambda stored in a variable?
If you have val greet = { name: String -> "Hello, $name!" }, you call it like this: greet("Alice").
Click to reveal answer
intermediate
What is the implicit name for a single parameter in a Kotlin lambda?
If a lambda has only one parameter, you can use it instead of naming it explicitly. For example: { it * 2 } doubles the input.
Click to reveal answer
Which of the following is a correct Kotlin lambda syntax for adding two numbers?
A{ x: Int, y: Int -> x + y }
B(x, y) => x + y
Cfun(x, y) { return x + y }
Dlambda x, y: x + y
How do you call a lambda stored in a variable named multiply with arguments 3 and 4?
Amultiply->(3,4)
Bmultiply.call(3, 4)
Cmultiply(3, 4)
Dcall multiply(3,4)
What does the it keyword represent in a Kotlin lambda?
AThe single implicit parameter of the lambda
BThe return value of the lambda
CA keyword to exit the lambda
DA variable declared outside the lambda
Which of these is NOT a valid way to declare a lambda in Kotlin?
Aval f = { x: Int -> x * 2 }
Bval f: (Int) -> Int = { x -> x * 2 }
Cval f = fun(x: Int) = x * 2
Dval f = lambda x: x * 2
What is the return type of a Kotlin lambda that looks like { a: Int, b: Int -> a + b }?
ANothing
BInt
CString
DUnit
Explain how to declare and use a lambda in Kotlin that takes one parameter and returns its square.
Think about how to write the lambda and how to call it with a number.
You got /4 concepts.
    Describe the difference between a lambda expression and a regular function in Kotlin.
    Focus on how lambdas are unnamed and can be stored or passed around easily.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is a lambda expression in Kotlin?
      easy
      A. A small unnamed function stored in a variable
      B. A class declaration
      C. A type of loop
      D. A way to declare variables

      Solution

      1. Step 1: Understand lambda basics

        Lambdas are small functions without a name that can be stored in variables.
      2. Step 2: Compare with other options

        Classes, loops, and variable declarations are different concepts from lambdas.
      3. Final Answer:

        A small unnamed function stored in a variable -> Option A
      4. Quick Check:

        Lambda = unnamed function [OK]
      Hint: Lambdas are unnamed functions in curly braces [OK]
      Common Mistakes:
      • Confusing lambdas with classes
      • Thinking lambdas are loops
      • Mixing lambdas with variable declarations
      2. Which of the following is the correct syntax for a lambda that takes two Ints and returns their sum?
      easy
      A. { a, b : Int -> a + b }
      B. (a, b) -> { a + b }
      C. fun(a, b) { return a + b }
      D. { a, b -> a + b }

      Solution

      1. Step 1: Recall lambda syntax

        Lambdas use curly braces with parameters before an arrow, then the body: { params -> body }
      2. Step 2: Check each option

        { a, b -> a + b } matches correct syntax. (a, b) -> { a + b } wrongly uses parentheses outside braces. fun(a, b) { return a + b } is a function, not a lambda. { a, b : Int -> a + b } incorrectly places type annotation.
      3. Final Answer:

        { a, b -> a + b } -> Option D
      4. Quick Check:

        Correct lambda syntax = { params -> body } [OK]
      Hint: Lambdas use braces with arrow separating params and body [OK]
      Common Mistakes:
      • Using parentheses instead of braces
      • Trying to write full function syntax
      • Incorrect type annotations inside lambda
      3. What is the output of this Kotlin code?
      val multiply = { x: Int, y: Int -> x * y }
      println(multiply(3, 4))
      medium
      A. 12
      B. 7
      C. 34
      D. Error

      Solution

      1. Step 1: Understand the lambda function

        The lambda takes two Ints x and y, and returns their product x * y.
      2. Step 2: Calculate the output

        Calling multiply(3, 4) returns 3 * 4 = 12.
      3. Final Answer:

        12 -> Option A
      4. Quick Check:

        3 * 4 = 12 [OK]
      Hint: Multiply parameters inside lambda to get output [OK]
      Common Mistakes:
      • Adding instead of multiplying
      • Concatenating numbers as strings
      • Syntax errors in lambda call
      4. Identify the error in this Kotlin lambda declaration:
      val greet = { name String -> "Hello, $name" }
      medium
      A. Lambda body must be outside braces
      B. Arrow is missing after parameters
      C. Missing colon between parameter and type
      D. Cannot use string interpolation in lambda

      Solution

      1. Step 1: Check parameter syntax

        Parameters must have a colon between name and type: name: String
      2. Step 2: Verify lambda structure

        The arrow -> is present after parameters, and string interpolation is allowed inside lambdas.
      3. Final Answer:

        Missing colon between parameter and type -> Option C
      4. Quick Check:

        Parameter syntax = name: Type [OK]
      Hint: Use colon between param name and type in lambdas [OK]
      Common Mistakes:
      • Omitting colon in parameter declaration
      • Forgetting arrow after parameters
      • Thinking string interpolation is disallowed
      5. How can you declare a lambda in Kotlin that filters a list of integers to keep only even numbers?
      hard
      A. val evenFilter = { list: List<Int> -> list.filter(it % 2 == 0) }
      B. val evenFilter = { list: List<Int> -> list.filter { it % 2 == 0 } }
      C. val evenFilter = { list: List<Int> -> list.filter { x -> x / 2 == 0 } }
      D. val evenFilter = { list: List<Int> -> list.filter { x -> x % 2 = 0 } }

      Solution

      1. Step 1: Understand filter usage

        filter takes a lambda returning true for elements to keep. Correct condition is x % 2 == 0 for even numbers.
      2. Step 2: Check each option

        val evenFilter = { list: List<Int> -> list.filter { it % 2 == 0 } } correctly uses filter with lambda and modulus check. val evenFilter = { list: List<Int> -> list.filter(it % 2 == 0) } misses braces for lambda. val evenFilter = { list: List<Int> -> list.filter { x -> x / 2 == 0 } } uses division instead of modulus. val evenFilter = { list: List<Int> -> list.filter { x -> x % 2 = 0 } } uses assignment (=) instead of comparison (==).
      3. Final Answer:

        val evenFilter = { list: List<Int> -> list.filter { it % 2 == 0 } } -> Option B
      4. Quick Check:

        Filter with { it % 2 == 0 } keeps evens [OK]
      Hint: Use filter { it % 2 == 0 } to select even numbers [OK]
      Common Mistakes:
      • Using assignment (=) instead of comparison (==)
      • Using division (/) instead of modulus (%)
      • Omitting braces around lambda in filter
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard