Bird
Raised Fist0
Goprogramming~20 mins

What is Go - Practice Questions & Exercises

Choose your learning style10 modes available
Challenge - 5 Problems
๐ŸŽ–๏ธ
Go Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
โ“ Predict Output
intermediate
2:00remaining
What is the output of this Go program?

Look at this Go code. What will it print when run?

Go
package main
import "fmt"
func main() {
    fmt.Println("Hello, Go!")
}
AHello, Go!
Bhello, go!
CHello Go!
DCompilation error
Attempts:
2 left
๐Ÿ’ก Hint

Check the exact string inside the quotes and capitalization.

๐Ÿง  Conceptual
intermediate
2:00remaining
What is Go mainly used for?

Choose the best description of what Go is mainly used for.

AA markup language for web pages
BA tool for designing websites with drag and drop
CA database management system
DA language for building fast and reliable server software
Attempts:
2 left
๐Ÿ’ก Hint

Think about what kind of programs Go is famous for.

โ“ Predict Output
advanced
2:00remaining
What does this Go code print?

What is the output of this Go program?

Go
package main
import "fmt"
func main() {
    var x int = 5
    var y int = 10
    fmt.Println(x + y)
}
ACompilation error
B15
C5 + 10
D510
Attempts:
2 left
๐Ÿ’ก Hint

Look at the variables and the operator used.

โ“ Predict Output
advanced
2:00remaining
What error does this Go code cause?

What error will this Go code produce when compiled?

Go
package main
func main() {
    var a int = "hello"
}
Amissing return statement
Bundefined: a
Ccannot use "hello" (type string) as type int in assignment
Dno error
Attempts:
2 left
๐Ÿ’ก Hint

Check the type of the variable and the value assigned.

๐Ÿง  Conceptual
expert
3:00remaining
Which feature is unique to Go compared to many other languages?

Choose the feature that Go has which is not common in many other programming languages.

ABuilt-in support for concurrent programming with goroutines
BAutomatic memory management with garbage collection
CObject-oriented programming with classes and inheritance
DDynamic typing for variables
Attempts:
2 left
๐Ÿ’ก Hint

Think about how Go handles multiple tasks at the same time.

Practice

(1/5)
1. What is Go primarily used for?
easy
A. Designing websites with HTML
B. Building fast and reliable software
C. Creating video games only
D. Writing scripts for Photoshop

Solution

  1. Step 1: Understand Go's purpose

    Go is designed to build software that runs quickly and reliably.
  2. Step 2: Compare options

    Options A, C, and D describe other technologies or limited uses, not Go's main purpose.
  3. Final Answer:

    Building fast and reliable software -> Option B
  4. Quick Check:

    Go = fast, reliable software [OK]
Hint: Go is known for speed and reliability [OK]
Common Mistakes:
  • Confusing Go with web design languages
  • Thinking Go is only for games
  • Assuming Go is a scripting tool
2. Which of the following is the correct way to start a Go program?
easy
A. package main func main() { // code }
B. start program { // code }
C. begin main() { // code }
D. function main() { // code }

Solution

  1. Step 1: Recognize Go program structure

    Go programs start with a package declaration and a main function.
  2. Step 2: Check syntax correctness

    package main func main() { // code } uses correct Go syntax: 'package main' and 'func main()'. Others use invalid keywords or syntax.
  3. Final Answer:

    package main\n\nfunc main() {\n // code\n} -> Option A
  4. Quick Check:

    Go starts with package main and func main() [OK]
Hint: Go programs start with 'package main' and 'func main()' [OK]
Common Mistakes:
  • Using 'start' or 'begin' instead of 'package' and 'func'
  • Omitting the package declaration
  • Using wrong function syntax
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. Hello, Go!
D. Error: missing main function

Solution

  1. Step 1: Understand fmt.Println usage

    fmt.Println prints the string with a newline to the console.
  2. Step 2: Check the program structure

    The program has a valid main function and imports fmt correctly, so it runs and prints the string.
  3. Final Answer:

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

    fmt.Println prints text with newline [OK]
Hint: fmt.Println prints exactly what is inside quotes [OK]
Common Mistakes:
  • Expecting output without quotes
  • Confusing print with return
  • Thinking program lacks main function
4. Identify the error in this Go code:
package main
import "fmt"
func main() {
    fmt.Println("Welcome to Go")
    fmt.Println(Welcome to Go)
}
medium
A. Missing quotes around string in second fmt.Println
B. Missing import statement
C. No main function defined
D. Incorrect package name

Solution

  1. Step 1: Check string usage in fmt.Println

    The second fmt.Println lacks quotes around the string, causing a syntax error.
  2. Step 2: Verify other parts

    Import and main function are correct, package name is valid.
  3. Final Answer:

    Missing quotes around string in second fmt.Println -> Option A
  4. Quick Check:

    Strings need quotes in fmt.Println [OK]
Hint: Strings must be in quotes inside fmt.Println [OK]
Common Mistakes:
  • Forgetting quotes around strings
  • Assuming import is missing
  • Thinking main function is absent
5. You want to write a Go program that prints "Go is fun!" only if a variable fun is true. Which code snippet correctly does this?
hard
A. package main import "fmt" func main() { fun := true fmt.Println("Go is fun!") }
B. package main import "fmt" func main() { fun := true if fun == false { fmt.Println("Go is fun!") } }
C. package main import "fmt" func main() { fun := false if fun { fmt.Println("Go is fun!") } }
D. package main import "fmt" func main() { fun := true if fun { fmt.Println("Go is fun!") } }

Solution

  1. Step 1: Understand the condition to print

    The program should print only if 'fun' is true, so the if condition must check 'fun' directly.
  2. Step 2: Analyze each option

    package main import "fmt" func main() { fun := true if fun { fmt.Println("Go is fun!") } } checks 'if fun' when fun is true, so it prints. package main import "fmt" func main() { fun := true if fun == false { fmt.Println("Go is fun!") } } prints if fun is false, wrong. package main import "fmt" func main() { fun := false if fun { fmt.Println("Go is fun!") } } fun is false, so no print. package main import "fmt" func main() { fun := true fmt.Println("Go is fun!") } prints unconditionally, ignoring fun.
  3. Final Answer:

    package main\nimport \"fmt\"\nfunc main() {\n fun := true\n if fun {\n fmt.Println(\"Go is fun!\")\n }\n} -> Option D
  4. Quick Check:

    Print only if fun is true [OK]
Hint: Use 'if fun' to check true boolean variable [OK]
Common Mistakes:
  • Checking if fun == false instead of fun
  • Setting fun to false by mistake
  • Printing without condition
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