Bird
Raised Fist0
Goprogramming~20 mins

Short variable declaration in Go - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
๐ŸŽ–๏ธ
Go Short Variable Declaration Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
โ“ Predict Output
intermediate
2:00remaining
Output of short variable declaration with multiple variables
What is the output of this Go program?
Go
package main
import "fmt"
func main() {
    a, b := 5, 10
    a, b = b, a
    fmt.Println(a, b)
}
A5 10
B0 0
C10 5
DCompilation error
Attempts:
2 left
๐Ÿ’ก Hint
Remember that := declares and initializes variables, and you can swap values using multiple assignment.
โ“ Predict Output
intermediate
2:00remaining
Short variable declaration inside if statement
What will this Go program print?
Go
package main
import "fmt"
func main() {
    if x := 7; x > 5 {
        fmt.Println(x)
    } else {
        fmt.Println(0)
    }
}
ANo output
B0
CCompilation error
D7
Attempts:
2 left
๐Ÿ’ก Hint
The variable x is declared and initialized in the if statement condition.
โ“ Predict Output
advanced
2:00remaining
Short variable declaration with redeclaration and assignment
What is the output of this Go program?
Go
package main
import "fmt"
func main() {
    x := 10
    x, y := 20, 30
    fmt.Println(x, y)
}
A10 30
B20 30
CCompilation error
D10 0
Attempts:
2 left
๐Ÿ’ก Hint
Short variable declaration can redeclare variables if at least one new variable is declared.
โ“ Predict Output
advanced
2:00remaining
Short variable declaration with blank identifier
What will this Go program print?
Go
package main
import "fmt"
func main() {
    x, _ := 5, 10
    fmt.Println(x)
}
A5
B10
C0
DCompilation error
Attempts:
2 left
๐Ÿ’ก Hint
The blank identifier _ ignores the second value.
๐Ÿง  Conceptual
expert
3:00remaining
Short variable declaration behavior in nested scopes
Consider this Go code snippet. What is the value of x printed by the program?
Go
package main
import "fmt"
func main() {
    x := 1
    {
        x := 2
        {
            x := 3
            fmt.Println(x)
        }
    }
}
A3
B2
C1
DCompilation error
Attempts:
2 left
๐Ÿ’ก Hint
Each nested block can declare a new variable with the same name, shadowing outer ones.

Practice

(1/5)
1. What does the short variable declaration := do in Go?
easy
A. It assigns a value to an already declared variable outside a function.
B. It declares and initializes a new variable inside a function.
C. It declares a variable without initializing it.
D. It declares a global variable accessible everywhere.

Solution

  1. Step 1: Understand short variable declaration usage

    The := syntax declares and initializes a variable in one step inside functions.
  2. Step 2: Differentiate from other declarations

    It cannot be used without initialization or outside functions for global variables.
  3. Final Answer:

    It declares and initializes a new variable inside a function. -> Option B
  4. Quick Check:

    Short declaration = declare + initialize [OK]
Hint: Remember := means declare and assign inside functions [OK]
Common Mistakes:
  • Thinking := works outside functions
  • Using := without initializing
  • Confusing := with simple assignment =
2. Which of the following is the correct way to declare and initialize a variable using short variable declaration in Go?
easy
A. x =: 10
B. var x := 10
C. x := 10
D. x :== 10

Solution

  1. Step 1: Identify correct short declaration syntax

    The correct syntax is variable := value without the var keyword.
  2. Step 2: Check each option

    x := 10 matches the correct syntax. The other options have invalid syntax.
  3. Final Answer:

    x := 10 -> Option C
  4. Quick Check:

    Short declaration syntax = variable := value [OK]
Hint: Short declaration never uses 'var' keyword [OK]
Common Mistakes:
  • Adding 'var' with :=
  • Swapping := to =:
  • Using double equals or colons
3. What will be the output of this Go code snippet?
func main() {
    a := 5
    a := 10
    fmt.Println(a)
}
medium
A. Compilation error
B. 10
C. 5
D. 0

Solution

  1. Step 1: Analyze variable redeclaration

    Using a := 5 then a := 10 in the same scope causes redeclaration error.
  2. Step 2: Understand Go's redeclaration rules

    Short declaration requires at least one new variable; here a is redeclared without new variables, causing error.
  3. Final Answer:

    Compilation error -> Option A
  4. Quick Check:

    Redeclaring same var with := in same scope = error [OK]
Hint: Short declaration needs at least one new variable [OK]
Common Mistakes:
  • Assuming redeclaration overwrites variable
  • Expecting last value to print
  • Ignoring scope rules
4. Identify the error in this Go code snippet:
func main() {
    x := 10
    x := 20
    fmt.Println(x)
}
medium
A. x is redeclared in the same scope causing a compile error.
B. x is not initialized before use.
C. fmt.Println is used incorrectly.
D. No error, output will be 20.

Solution

  1. Step 1: Check variable redeclaration

    The variable x is declared twice with := in the same function scope, which is not allowed.
  2. Step 2: Understand Go's redeclaration rules

    Redeclaring a variable with := requires at least one new variable; here none is new, so compile error occurs.
  3. Final Answer:

    x is redeclared in the same scope causing a compile error. -> Option A
  4. Quick Check:

    Redeclaration without new vars = compile error [OK]
Hint: Redeclare only if at least one new variable appears [OK]
Common Mistakes:
  • Thinking redeclaration updates variable silently
  • Ignoring compile errors on redeclaration
  • Assuming output prints last assigned value
5. Given the code below, which line correctly uses short variable declaration to add a new variable c while updating a?
func main() {
    a := 1
    b := 2
    // Insert line here
    fmt.Println(a, b, c)
}
hard
A. a, b := 3, 4
B. a := 3; c := 4
C. c := 4
D. a, c := 3, 4

Solution

  1. Step 1: Understand short declaration with existing variables

    To update a and declare new c in one line, use a, c := 3, 4.
  2. Step 2: Check other options

    a, b := 3, 4 redeclares two existing variables without a new one, causing a compile error. a := 3; c := 4 redeclares existing a without a new variable (compile error). c := 4 declares c without updating a.
  3. Final Answer:

    a, c := 3, 4 -> Option D
  4. Quick Check:

    Short declaration updates existing + new vars = correct [OK]
Hint: Use := with at least one new variable to update and declare [OK]
Common Mistakes:
  • Trying to redeclare only existing vars with :=
  • Declaring new vars separately without updating existing
  • Forgetting to include new variable in declaration
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