Bird
Raised Fist0
Goprogramming~5 mins

Basic data types in Go - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Basic data types
O(n)
Understanding Time Complexity

When working with basic data types in Go, it's helpful to know how fast operations run.

We want to see how the time to do simple tasks changes as the input size grows.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


package main

func sumInts(numbers []int) int {
    total := 0
    for _, num := range numbers {
        total += num
    }
    return total
}

This code adds up all numbers in a list of integers.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Adding each number to total inside a loop.
  • How many times: Once for each number in the list.
How Execution Grows With Input

As the list gets longer, the time to add all numbers grows in a straight line.

Input Size (n)Approx. Operations
1010 additions
100100 additions
10001000 additions

Pattern observation: The work grows directly with the number of items.

Final Time Complexity

Time Complexity: O(n)

This means the time to finish grows in a straight line as the input list gets bigger.

Common Mistake

[X] Wrong: "Adding numbers is always instant, no matter how many there are."

[OK] Correct: Even simple addition takes time, and doing it many times adds up as the list grows.

Interview Connect

Understanding how basic operations scale helps you explain code efficiency clearly and confidently.

Self-Check

"What if we changed the list to a fixed size array? How would the time complexity change?"

Practice

(1/5)
1. Which Go data type is used to store true or false values?
easy
A. float64
B. int
C. string
D. bool

Solution

  1. Step 1: Understand the data types

    In Go, bool is used for true/false values, int for whole numbers, string for text, and float64 for decimals.
  2. Step 2: Match the type to true/false

    Since true/false are boolean values, the correct type is bool.
  3. Final Answer:

    bool -> Option D
  4. Quick Check:

    Boolean type = bool [OK]
Hint: True/false values always use bool type in Go [OK]
Common Mistakes:
  • Choosing int for true/false
  • Using string for boolean values
  • Confusing float64 with bool
2. Which of the following is the correct way to declare an integer variable named age in Go?
easy
A. int age
B. var age int
C. age := int
D. var int age

Solution

  1. Step 1: Recall Go variable declaration syntax

    In Go, variables are declared with var followed by the name and then the type.
  2. Step 2: Check each option

    var age int matches this syntax: var age int. Others do not follow Go syntax.
  3. Final Answer:

    var age int -> Option B
  4. Quick Check:

    Variable declaration = var name type [OK]
Hint: Use 'var name type' to declare variables in Go [OK]
Common Mistakes:
  • Writing type before variable name
  • Using := without initialization
  • Mixing order of var and type
3. What will be the output of this Go code?
package main
import "fmt"
var x int = 10
var y float64 = 5.5
var z string = "Go"
func main() {
	fmt.Println(x, y, z)
}
medium
A. 10 5.5 Go
B. 10 5 Go
C. 10 5.5 "Go"
D. Error: cannot print variables

Solution

  1. Step 1: Understand variable values

    Variable x is 10 (int), y is 5.5 (float64), and z is "Go" (string).
  2. Step 2: Check fmt.Println output

    fmt.Println prints values separated by spaces without quotes for strings.
  3. Final Answer:

    10 5.5 Go -> Option A
  4. Quick Check:

    Print values as is, strings without quotes [OK]
Hint: fmt.Println prints strings without quotes by default [OK]
Common Mistakes:
  • Expecting quotes around strings
  • Confusing float64 with int
  • Thinking fmt.Println causes error
4. Find the error in this Go code snippet:
var name string = 123
fmt.Println(name)
medium
A. fmt.Println requires parentheses
B. Missing semicolon after declaration
C. Cannot assign int to string variable
D. Variable name is a reserved keyword

Solution

  1. Step 1: Check variable assignment types

    The variable name is declared as string but assigned the integer 123, which is a type mismatch.
  2. Step 2: Verify other syntax

    Semicolons are optional in Go, fmt.Println is correctly used, and name is not a reserved keyword.
  3. Final Answer:

    Cannot assign int to string variable -> Option C
  4. Quick Check:

    Type mismatch error = assigning int to string [OK]
Hint: Match variable type and assigned value type exactly [OK]
Common Mistakes:
  • Assigning wrong type value
  • Thinking semicolon is mandatory
  • Confusing reserved keywords
5. You want to store a person's age, height in meters, name, and if they are a student. Which Go variable declarations are correct?
hard
A. var age int var height float64 var name string var isStudent bool
B. var age float64 var height int var name bool var isStudent string
C. var age string var height string var name int var isStudent int
D. var age bool var height bool var name float64 var isStudent int

Solution

  1. Step 1: Match data types to real-world data

    Age is a whole number, so int. Height can have decimals, so float64. Name is text, so string. Student status is true/false, so bool.
  2. Step 2: Check each option

    var age int var height float64 var name string var isStudent bool matches these types correctly. Others assign wrong types to variables.
  3. Final Answer:

    var age int var height float64 var name string var isStudent bool -> Option A
  4. Quick Check:

    Correct types for data = int, float64, string, bool [OK]
Hint: Use int for whole numbers, float64 for decimals, string for text, bool for true/false [OK]
Common Mistakes:
  • Mixing int and float64
  • Using bool for text
  • Assigning string to boolean
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