Bird
Raised Fist0
Goprogramming~10 mins

Writing first Go program - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to print "Hello, World!" in Go.

Go
package main

import "fmt"

func main() {
    fmt.[1]("Hello, World!")
}
Drag options to blanks, or click blank then click option'
APrintln
BPrint
CPrintf
DPrintfln
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using fmt.Print does not add a new line after printing.
Typo in function name like Printfln causes errors.
2fill in blank
medium

Complete the code to declare the main package in Go.

Go
[1] main

func main() {
    // program starts here
}
Drag options to blanks, or click blank then click option'
Afunc
Bmain
Cimport
Dpackage
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Writing 'func' instead of 'package' at the top.
Omitting the package declaration causes errors.
3fill in blank
hard

Fix the error in the function declaration to make it valid Go code.

Go
func [1]() {
    fmt.Println("Hello")
}
Drag options to blanks, or click blank then click option'
Amain
BMain
Cmain()
Dfunc
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using uppercase 'Main' instead of 'main'.
Adding parentheses after the function name in declaration.
4fill in blank
hard

Fill both blanks to import the fmt package and print a message.

Go
package main

import [1]"fmt"[2]

func main() {
    fmt.Println("Welcome to Go!")
}
Drag options to blanks, or click blank then click option'
A(
B"
C)
D[
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using square brackets instead of parentheses.
Using quotes alone without parentheses for multiple imports.
5fill in blank
hard

Fill all three blanks to create a map of string keys to int values with one entry.

Go
package main

func main() {
    scores := map[[1]][2]{
        "Alice": [3],
    }
}
Drag options to blanks, or click blank then click option'
Astring
Bint
C100
Dfloat64
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using float64 instead of int for map values.
Using incorrect key type like int instead of string.

Practice

(1/5)
1. What is the purpose of the main function in a Go program?
easy
A. It is the starting point where the program begins execution.
B. It defines a package for the program.
C. It imports external libraries.
D. It declares variables for the program.

Solution

  1. Step 1: Understand the role of main function

    The main function is special in Go; it is where the program starts running.
  2. Step 2: Differentiate from other parts

    Packages define code grouping, imports bring libraries, and variables store data, but none start execution.
  3. Final Answer:

    It is the starting point where the program begins execution. -> Option A
  4. Quick Check:

    Program starts at main() -> D [OK]
Hint: Remember: main() is the program's entry point [OK]
Common Mistakes:
  • Confusing package declaration with program start
  • Thinking imports start the program
  • Assuming variables control program flow
2. Which of the following is the correct way to print "Hello, Go!" in a Go program?
easy
A. fmt.Println("Hello, Go!")
B. print("Hello, Go!")
C. fmt.print("Hello, Go!")
D. console.log("Hello, Go!")

Solution

  1. Step 1: Identify the correct print function in Go

    Go uses the fmt package with Println to print with a newline.
  2. Step 2: Check syntax correctness

    fmt.Println("Hello, Go!") is correct; others are either wrong function names or from other languages.
  3. Final Answer:

    fmt.Println("Hello, Go!") -> Option A
  4. Quick Check:

    Use fmt.Println() to print lines in Go [OK]
Hint: Use fmt.Println() for printing with newline [OK]
Common Mistakes:
  • Using fmt.print instead of fmt.Println
  • Using print() which is not standard in Go
  • Using console.log from JavaScript
3. What will be the output of this Go program?
package main
import "fmt"
func main() {
    fmt.Println("Welcome to Go!")
}
medium
A. package main import "fmt" func main() { fmt.Println("Welcome to Go!") }
B. fmt.Println("Welcome to Go!")
C. Welcome to Go!
D. Error: missing main function

Solution

  1. Step 1: Understand program structure

    The program imports fmt and defines main(), which prints the string.
  2. Step 2: Identify output of fmt.Println

    It prints the string exactly: Welcome to Go! with a newline.
  3. Final Answer:

    Welcome to Go! -> Option C
  4. Quick Check:

    fmt.Println prints string output [OK]
Hint: fmt.Println prints the string content, not code [OK]
Common Mistakes:
  • Confusing code with output
  • Expecting code to print itself
  • Thinking main function is missing
4. Identify the error in this Go program:
package main
import "fmt"
func main() {
    fmt.Println("Hello, world!"
}
medium
A. Missing import statement
B. Incorrect function name
C. Missing package declaration
D. Missing closing parenthesis in fmt.Println call

Solution

  1. Step 1: Check syntax of fmt.Println

    The call to fmt.Println is missing a closing parenthesis at the end.
  2. Step 2: Verify other parts

    Package and import are present, function name is correct, so no errors there.
  3. Final Answer:

    Missing closing parenthesis in fmt.Println call -> Option D
  4. Quick Check:

    Check parentheses in function calls [OK]
Hint: Count opening and closing parentheses carefully [OK]
Common Mistakes:
  • Forgetting closing parenthesis in function calls
  • Assuming missing import or package causes this error
  • Misnaming main function
5. You want to write a Go program that prints "Hello" on one line and "World" on the next line. Which code snippet achieves this correctly?
hard
A. package main import "fmt" func main() { fmt.Print("Hello\nWorld") }
B. package main import "fmt" func main() { fmt.Println("Hello") fmt.Println("World") }
C. package main import "fmt" func main() { fmt.Println("Hello\nWorld") }
D. package main import "fmt" func main() { fmt.Print("Hello") fmt.Print("World") }

Solution

  1. Step 1: Understand printing with new lines

    fmt.Println prints text and adds a newline automatically.
  2. Step 2: Check each option's output

    A: Two fmt.Println calls print "Hello" on one line and "World" on the next. Correct.
    B: fmt.Print("Hello\nWorld") prints "Hello\nWorld" (with actual newline) on one line.
    C: fmt.Println("Hello\nWorld") prints "Hello\nWorld" (with actual newline) followed by newline, so output is two lines.
    D: Two fmt.Print calls print "HelloWorld" on one line.
  3. Final Answer:

    package main import "fmt" func main() { fmt.Println("Hello") fmt.Println("World") } -> Option B
  4. Quick Check:

    Use fmt.Println twice for separate lines [OK]
Hint: Use fmt.Println for each line to print separately [OK]
Common Mistakes:
  • Using fmt.Print without newline causes joined output
  • Expecting \n inside fmt.Println to create new line
  • Confusing fmt.Print and fmt.Println behavior
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