Bird
Raised Fist0
Goprogramming~8 mins

Array length in Go - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Array length
Declare array
↓
Array created with fixed size
↓
Use len(array) to get length
↓
Length returned as integer
↓
Use length in program
This flow shows how an array is declared with a fixed size, then the built-in len function returns its length as an integer.
Execution Sample
Go
package main
import "fmt"
func main() {
  arr := [5]int{1,2,3,4,5}
  fmt.Println(len(arr))
}
This code creates an array of 5 integers and prints its length using len.
Execution Table
StepActionArray Contentlen(arr) ValueOutput
1Declare arr as [5]int{1,2,3,4,5}[1 2 3 4 5]N/AN/A
2Call len(arr)[1 2 3 4 5]5N/A
3Print length[1 2 3 4 5]55
4Program ends[1 2 3 4 5]5N/A
💡 Program ends after printing the length 5.
Variable Tracker
VariableStartAfter Step 1After Step 2Final
arrundefined[1 2 3 4 5][1 2 3 4 5][1 2 3 4 5]
len(arr)N/AN/A55
Key Moments - 2 Insights
Why does len(arr) return 5 even if we only use some elements?
len(arr) returns the fixed size of the array, not how many elements are 'used'. See execution_table step 2 where len(arr) is 5 regardless.
Can the length of an array change after declaration?
No, arrays have fixed length in Go. The length is set when declared, as shown in step 1.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the value of len(arr) at step 2?
A0
B5
CUndefined
D1
💡 Hint
Check the 'len(arr) Value' column at step 2 in execution_table.
At which step is the array declared with its values?
AStep 2
BStep 3
CStep 1
DStep 4
💡 Hint
Look at the 'Action' column to find when arr is declared.
If the array was declared as [3]int{1,2,3}, what would len(arr) be at step 2?
A3
B5
C0
DUndefined
💡 Hint
len returns the declared size of the array, see variable_tracker for len(arr) values.
Concept Snapshot
Array length in Go:
- Arrays have fixed size declared at creation.
- Use len(array) to get the size.
- Length is an int representing total elements.
- Length does NOT change during program.
- Example: arr := [5]int{...}; len(arr) == 5
Full Transcript
This example shows how to get the length of an array in Go. First, an array named arr is declared with 5 integers. The len function returns the fixed size of the array, which is 5. The program prints this length. Arrays in Go have fixed size, so len(arr) always returns the declared size, not how many elements are used. The execution table traces each step: declaration, calling len, printing, and program end. The variable tracker shows arr contents and len(arr) value. Key moments clarify common confusions about fixed size and length meaning. The quiz tests understanding of these steps and values.

Practice

(1/5)
1. What does the len() function return when used with an array in Go?
easy
A. The memory size of the array in bytes
B. The number of elements in the array
C. The capacity of the array's underlying slice
D. The last element of the array

Solution

  1. Step 1: Understand the purpose of len() in Go

    The len() function returns the count of elements in arrays, slices, maps, and strings.
  2. Step 2: Apply len() to an array

    When used on an array, len() returns the fixed number of elements it holds.
  3. Final Answer:

    The number of elements in the array -> Option B
  4. Quick Check:

    len(array) = number of elements [OK]
Hint: len() always gives count of elements in an array [OK]
Common Mistakes:
  • Confusing len() with capacity
  • Thinking len() returns memory size
  • Assuming len() returns last element
2. Which of the following is the correct way to get the length of an array named arr in Go?
easy
A. len(arr)
B. arr.length
C. size(arr)
D. length(arr)

Solution

  1. Step 1: Recall Go syntax for length

    In Go, the built-in function len() is used to get the length of arrays and slices.
  2. Step 2: Check each option

    Only len(arr) is valid syntax; others are invalid or do not exist in Go.
  3. Final Answer:

    len(arr) -> Option A
  4. Quick Check:

    Use len() function for array length [OK]
Hint: Use len(array) to get length, not dot or other functions [OK]
Common Mistakes:
  • Using dot notation like arr.length
  • Using non-existent functions like length() or size()
  • Confusing with other languages' syntax
3. What will be the output of this Go program?
package main
import "fmt"
func main() {
    arr := [4]int{10, 20, 30, 40}
    fmt.Println(len(arr))
}
medium
A. 0
B. 3
C. 4
D. Compilation error

Solution

  1. Step 1: Analyze the array declaration

    The array arr is declared with 4 elements: 10, 20, 30, 40.
  2. Step 2: Understand len(arr)

    The len() function returns the number of elements, which is 4.
  3. Final Answer:

    4 -> Option C
  4. Quick Check:

    len([4]int{...}) = 4 [OK]
Hint: Count elements inside [ ] to find length [OK]
Common Mistakes:
  • Counting elements incorrectly
  • Thinking len() returns last index (3)
  • Expecting runtime error
4. Identify the error in this Go code snippet:
package main
import "fmt"
func main() {
    arr := [3]int{1, 2, 3}
    fmt.Println(len(arr))
    fmt.Println(arr[3])
}
medium
A. fmt.Println cannot print arrays
B. len(arr) is invalid for arrays
C. Array declaration syntax is wrong
D. Accessing arr[3] causes an index out of range error

Solution

  1. Step 1: Check array length and indexing

    The array arr has length 3, so valid indices are 0, 1, and 2.
  2. Step 2: Identify invalid index access

    Accessing arr[3] is out of range and causes a runtime panic.
  3. Final Answer:

    Accessing arr[3] causes an index out of range error -> Option D
  4. Quick Check:

    Array indices go from 0 to len-1 [OK]
Hint: Array indices start at 0, max index = length-1 [OK]
Common Mistakes:
  • Assuming len(arr) is invalid
  • Thinking fmt.Println can't print arrays
  • Confusing array length with capacity
5. Given two arrays in Go:
arr1 := [5]int{1, 2, 3, 4, 5}
arr2 := [3]int{10, 20, 30}
Which expression correctly checks if arr2 has fewer elements than arr1?
hard
A. len(arr2) < len(arr1)
B. len(arr1) < len(arr2)
C. arr2.length < arr1.length
D. size(arr2) < size(arr1)

Solution

  1. Step 1: Identify lengths of both arrays

    arr1 has length 5, arr2 has length 3.
  2. Step 2: Write correct comparison syntax

    Use len() to get lengths. To check if arr2 is smaller, compare len(arr2) < len(arr1).
  3. Final Answer:

    len(arr2) < len(arr1) -> Option A
  4. Quick Check:

    len(arr2) = 3 < 5 = len(arr1) [OK]
Hint: Use len() and compare lengths directly [OK]
Common Mistakes:
  • Using wrong function names like length or size
  • Reversing comparison order
  • Using dot notation for length
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