Bird
Raised Fist0
Goprogramming~10 mins

Go program structure - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Go program structure
Start
↓
Package Declaration
↓
Import Packages
↓
Function main()
↓
Statements inside main
↓
End
A Go program starts with a package declaration, then imports packages, defines the main function, and runs statements inside main.
Execution Sample
Go
package main

import "fmt"

func main() {
    fmt.Println("Hello, Go!")
}
This program prints 'Hello, Go!' to the screen.
Execution Table
StepCode LineActionResult/Output
1package mainDeclare package as mainProgram identified as executable
2import "fmt"Import fmt packagefmt functions available
3func main() {Define main functionEntry point ready
4 fmt.Println("Hello, Go!")Call Println to print textOutput: Hello, Go!
5}End of main functionProgram ends
💡 Program ends after main function completes
Variable Tracker
VariableStartAfter Step 4Final
No variablesN/AN/AN/A
Key Moments - 3 Insights
Why does every Go program need 'package main' at the top?
'package main' tells Go this is an executable program. Without it, the program won't run as a standalone app. See execution_table step 1.
What happens if we remove the import statement?
The program can't use fmt.Println because fmt package is missing. This causes a compile error. See execution_table step 2.
Why must the main function be named exactly 'main'?
Go looks for 'main' as the starting point to run the program. If named differently, the program won't run. See execution_table step 3.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the action at step 2?
ACall Println function
BDeclare package main
CImport fmt package
DEnd main function
💡 Hint
Check the 'Action' column at step 2 in the execution_table
At which step does the program print output?
AStep 4
BStep 1
CStep 3
DStep 5
💡 Hint
Look for 'Output' in the 'Result/Output' column in execution_table
If we rename 'main' function to 'start', what happens?
AProgram prints 'Hello, Go!' twice
BProgram fails to run
CProgram runs normally
DProgram runs but prints nothing
💡 Hint
Refer to key_moments about main function naming
Concept Snapshot
Go program structure:
- Start with 'package main' for executable
- Import needed packages (e.g., fmt)
- Define 'func main()' as entry point
- Write statements inside main
- Program runs statements then ends
Full Transcript
A Go program begins with a package declaration, usually 'package main' for executable programs. Next, it imports packages needed, like 'fmt' for printing. The main function 'func main()' is the entry point where the program starts running. Inside main, statements like fmt.Println print text to the screen. The program ends when main finishes. Each step is important: package tells Go it's executable, import makes functions available, main is where code runs, and statements do the work.

Practice

(1/5)
1. What is the purpose of the main function in a Go program?
easy
A. It is the entry point where the program starts running.
B. It declares the package name.
C. It imports external libraries.
D. It defines variables globally.

Solution

  1. Step 1: Understand the role of main function

    The main function is where the Go program begins execution.
  2. Step 2: Differentiate from other parts

    Package declaration and imports do not run code; only main runs the program.
  3. Final Answer:

    It is the entry point where the program starts running. -> Option A
  4. Quick Check:

    Main function = program start [OK]
Hint: Main function always starts the Go program [OK]
Common Mistakes:
  • Confusing package declaration with program start
  • Thinking imports run code
  • Assuming variables run the program
2. Which of the following is the correct way to start a Go program file?
easy
A. import "fmt"
B. func main() { }
C. package main
D. var main = 1

Solution

  1. Step 1: Identify the first line in a Go program

    Every Go program starts with a package declaration, usually package main for executable programs.
  2. Step 2: Check other options

    func main() is a function, not the first line. import comes after package. var main is invalid as a start.
  3. Final Answer:

    package main -> Option C
  4. Quick Check:

    Package declaration first = package main [OK]
Hint: Go files start with package declaration [OK]
Common Mistakes:
  • Starting with function before package
  • Using import before package
  • Declaring variables as first line
3. What will be the output of this Go program?
package main
import "fmt"
func main() {
    fmt.Println("Hello, Go!")
}
medium
A. Hello, Go!
B. fmt.Println("Hello, Go!")
C. package main
D. Syntax error

Solution

  1. Step 1: Understand the code structure

    The program imports fmt and calls fmt.Println to print a string.
  2. Step 2: Predict the output

    The output will be the string inside Println: "Hello, Go!" printed on the screen.
  3. Final Answer:

    Hello, Go! -> Option A
  4. Quick Check:

    Println outputs string = Hello, Go! [OK]
Hint: Println prints the string inside quotes [OK]
Common Mistakes:
  • Confusing code with output
  • Expecting package or import to print
  • Thinking syntax error without reason
4. Identify the error in this Go program:
package main
import "fmt"
func main() {
    Println("Hello")
}
medium
A. Missing package declaration
B. Incorrect import syntax
C. Missing main function
D. Println should be fmt.Println

Solution

  1. Step 1: Check function call

    The code calls Println without prefix. In Go, Println is in fmt package, so it must be fmt.Println.
  2. Step 2: Verify other parts

    Package and import are correct. Main function exists. Import syntax is correct.
  3. Final Answer:

    Println should be fmt.Println -> Option D
  4. Quick Check:

    Use fmt.Println, not just Println [OK]
Hint: Always prefix Println with fmt. [OK]
Common Mistakes:
  • Calling Println without fmt prefix
  • Removing package declaration
  • Forgetting main function
5. You want to write a Go program that prints "Welcome!" but you forgot the package main line. What will happen when you try to run it?
hard
A. The program will run and print "Welcome!"
B. The compiler will show an error about missing package declaration
C. The program will print nothing but run successfully
D. The program will run but ignore the main function

Solution

  1. Step 1: Understand Go program requirements

    Every Go program must start with a package declaration, usually package main for executables.
  2. Step 2: Predict compiler behavior

    Without package main, the compiler will report an error and refuse to build the program.
  3. Final Answer:

    The compiler will show an error about missing package declaration -> Option B
  4. Quick Check:

    Missing package line causes compile error [OK]
Hint: Package main is mandatory for executable programs [OK]
Common Mistakes:
  • Assuming program runs without package
  • Thinking main function alone is enough
  • Ignoring compiler errors
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