Bird
Raised Fist0
Goprogramming~5 mins

Short variable declaration in Go

Choose your learning style10 modes available
Introduction

Short variable declaration lets you quickly create and set a variable without writing its type. It makes your code shorter and easier to read.

When you want to create a new variable and assign a value in one step.
When the type of the variable can be guessed from the value you give it.
When writing simple functions or small blocks of code where brevity helps.
When you want to avoid repeating the type name to keep code clean.
Syntax
Go
variableName := value

The := symbol means 'declare and assign'.

You cannot use := to reassign an existing variable, only to declare new ones or at least one new variable in the declaration.

Examples
Creates a new variable x with the value 10. The type int is guessed automatically.
Go
x := 10
Creates a string variable called name with the value "Alice".
Go
name := "Alice"
Declares two variables pi and radius at once with their values.
Go
pi, radius := 3.14, 5
Sample Program

This program uses short variable declaration to create two variables, age and city, then prints them.

Go
package main

import "fmt"

func main() {
    age := 25
    city := "Paris"
    fmt.Println("Age:", age)
    fmt.Println("City:", city)
}
OutputSuccess
Important Notes

You must use := inside functions, not at the package level.

If you want to update an existing variable, use = instead of :=.

Summary

Short variable declaration uses := to create and assign variables quickly.

It works only inside functions and when declaring new variables.

It helps keep code clean by skipping explicit type declarations.

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