Bird
Raised Fist0
Goprogramming~10 mins

Importing packages in Go - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Importing packages
Start program
↓
Import package(s)
↓
Use package functions/variables
↓
Run main function
↓
Program output
The program starts by importing packages, then uses their functions or variables inside the main function, and finally runs to produce output.
Execution Sample
Go
package main
import "fmt"
func main() {
    fmt.Println("Hello, Go!")
}
This code imports the fmt package and uses it to print a message.
Execution Table
StepActionPackage ImportedFunction CalledOutput
1Start programNoneNoneNone
2Import packagefmtNoneNone
3Call fmt.PrintlnfmtPrintlnHello, Go!
4Program endsfmtNoneNone
💡 Program ends after main function completes
Variable Tracker
VariableStartAfter Step 3Final
OutputNone"Hello, Go!""Hello, Go!"
Key Moments - 2 Insights
Why do we need to import the fmt package before using fmt.Println?
Because fmt is not built-in by default; importing tells Go to include it so we can use its functions, as shown in step 2 and 3 of the execution table.
What happens if we try to use fmt.Println without importing fmt?
The program will not compile because Go doesn't know what fmt is, so importing is necessary before calling its functions (see step 2).
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, at which step is the fmt package imported?
AStep 2
BStep 3
CStep 1
DStep 4
💡 Hint
Check the 'Package Imported' column in the execution table.
At which step does the program print the message "Hello, Go!"?
AStep 2
BStep 3
CStep 4
DStep 1
💡 Hint
Look at the 'Output' column in the execution table.
If we remove the import statement, what will happen?
AProgram prints "Hello, Go!" anyway
BProgram runs but prints nothing
CProgram fails to compile
DProgram runs but with error at runtime
💡 Hint
Refer to the key moment about missing import causing compile error.
Concept Snapshot
Importing packages in Go:
- Use import "package_name" at the top
- Imported packages provide functions and variables
- Must import before using package features
- Example: import "fmt" to use fmt.Println
- Program runs main() after imports
- Missing import causes compile error
Full Transcript
This example shows how a Go program imports the fmt package to use its Println function. The program starts, imports fmt, then calls fmt.Println to print "Hello, Go!". Importing is necessary so Go knows about the package. Without import, the program won't compile. The execution table traces each step: starting, importing, calling Println, and ending. The variable tracker shows the output variable changing from none to the printed message. Key moments clarify why import is needed and what happens if missing. The quiz tests understanding of import timing, output step, and error on missing import.

Practice

(1/5)
1. What is the correct way to import a single package named fmt in Go?
easy
A. include fmt
B. import "fmt"
C. using fmt
D. require "fmt"

Solution

  1. Step 1: Understand Go import syntax

    In Go, packages are imported using the keyword import followed by the package name in double quotes.
  2. Step 2: Check each option

    Only import "fmt" uses the correct syntax: import "fmt". Other options use incorrect keywords or missing quotes.
  3. Final Answer:

    import "fmt" -> Option B
  4. Quick Check:

    Go import single package = import "package" [OK]
Hint: Use import with quotes around package name [OK]
Common Mistakes:
  • Forgetting quotes around package name
  • Using wrong keywords like include or require
  • Missing import keyword
2. Which of the following is the correct syntax to import multiple packages fmt and math in Go?
easy
A. import ( "fmt" "math" )
B. import ("fmt", "math")
C. import "fmt" "math"
D. import fmt, math

Solution

  1. Step 1: Recall multi-package import syntax

    In Go, multiple packages are imported inside parentheses with each package name in quotes on separate lines.
  2. Step 2: Analyze options

    import ( "fmt" "math" ) correctly uses parentheses and places each package name on its own line with quotes. Options B, C, and D are incorrect syntax.
  3. Final Answer:

    import ( "fmt" "math" ) -> Option A
  4. Quick Check:

    Multiple imports use parentheses and quotes [OK]
Hint: Use parentheses and quotes for multiple imports [OK]
Common Mistakes:
  • Missing parentheses for multiple imports
  • Not putting package names in quotes
  • Separating packages with commas instead of new lines
3. What will be the output of this Go program?
package main
import (
  "fmt"
  "math"
)
func main() {
  fmt.Println(math.Sqrt(16))
}
medium
A. Error: undefined math.Sqrt
B. 4
C. 16
D. 4.0

Solution

  1. Step 1: Understand the code

    The program imports fmt and math packages. It calls math.Sqrt(16) which returns the square root of 16 as a float64.
  2. Step 2: Determine output type

    math.Sqrt(16) returns 4.0 (float64). fmt.Println prints it as 4.0 including the decimal point because it is a float64 value.
  3. Final Answer:

    4.0 -> Option D
  4. Quick Check:

    math.Sqrt(16) = 4.0 [OK]
Hint: math.Sqrt returns float64, prints as 4.0 including decimal [OK]
Common Mistakes:
  • Expecting integer output instead of float64
  • Thinking math package is not imported
  • Confusing output with error
4. Identify the error in this Go code snippet:
package main
import "fmt"
import "math"
func main() {
  fmt.Println(math.Pow(2, 3))
}
medium
A. Cannot import multiple packages separately
B. Missing parentheses for multiple imports
C. No error, code runs fine
D. math.Pow does not exist

Solution

  1. Step 1: Check import statements

    Go allows multiple import statements separately or grouped in parentheses. Both are valid.
  2. Step 2: Verify function usage

    math.Pow(2, 3) is a valid function call to calculate 2 to the power 3.
  3. Final Answer:

    No error, code runs fine -> Option C
  4. Quick Check:

    Separate imports allowed = no error [OK]
Hint: Multiple import statements are allowed separately [OK]
Common Mistakes:
  • Thinking multiple imports must be in parentheses
  • Assuming math.Pow does not exist
  • Confusing import syntax rules
5. You want to import the strings package but use it with the name str in your code. Which import statement is correct?
hard
A. import str "strings"
B. import "str" as "strings"
C. import strings as str
D. import str from "strings"

Solution

  1. Step 1: Understand alias import syntax in Go

    To use a package with a different name, Go allows aliasing by writing the alias before the package name in quotes.
  2. Step 2: Check options

    import str "strings" uses correct syntax: import str "strings". Other options use invalid syntax not supported in Go.
  3. Final Answer:

    import str "strings" -> Option A
  4. Quick Check:

    Alias import = alias before package in quotes [OK]
Hint: Alias package by writing alias before quoted package name [OK]
Common Mistakes:
  • Using 'as' keyword which Go does not support
  • Trying to import with 'from' keyword
  • Placing alias after package name
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