Bird
Raised Fist0
Goprogramming~10 mins

Basic input concepts in Go - Interactive Code Practice

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

Complete the code to read a string input from the user.

Go
var name string
fmt.Print("Enter your name: ")
fmt.Scanln([1])
fmt.Println("Hello,", name)
Drag options to blanks, or click blank then click option'
A&name
Bname
C*name
Dname&
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Passing the variable without & causes a runtime error.
Using *name is invalid because name is not a pointer.
2fill in blank
medium

Complete the code to read an integer input from the user.

Go
var age int
fmt.Print("Enter your age: ")
fmt.Scanln([1])
fmt.Println("You are", age, "years old")
Drag options to blanks, or click blank then click option'
A&age
B*age
Cage
Dage&
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Passing age without & causes input not to be stored.
Using *age is invalid since age is not a pointer.
3fill in blank
hard

Fix the error in reading a float input from the user.

Go
var price float64
fmt.Print("Enter price: ")
fmt.Scanln([1])
fmt.Printf("Price: %.2f\n", price)
Drag options to blanks, or click blank then click option'
Aprice
Bprice&
C*price
D&price
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Passing price without & causes the value not to be stored.
Using *price is invalid because price is not a pointer.
4fill in blank
hard

Fill both blanks to read two inputs: a string and an integer.

Go
var name string
var age int
fmt.Print("Enter name and age: ")
fmt.Scanln([1], [2])
fmt.Println(name, age)
Drag options to blanks, or click blank then click option'
A&name
Bname
C&age
Dage
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Passing variables without & causes input not to be stored.
Mixing & and non-& variables causes errors.
5fill in blank
hard

Fill all three blanks to read a string, an integer, and a float input.

Go
var name string
var age int
var height float64
fmt.Print("Enter name, age, and height: ")
fmt.Scanln([1], [2], [3])
fmt.Println(name, age, height)
Drag options to blanks, or click blank then click option'
A&name
B&age
C&height
Dheight
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Forgetting & causes input not to be stored.
Passing a variable without & among others causes runtime errors.

Practice

(1/5)
1. What is the main purpose of using input functions in Go programs?
easy
A. To get information from the user during program execution
B. To print messages on the screen
C. To declare variables
D. To create new functions

Solution

  1. Step 1: Understand input function role

    Input functions allow the program to receive data from the user while it runs.
  2. Step 2: Differentiate input from output

    Printing messages is output, not input. Declaring variables or creating functions are unrelated.
  3. Final Answer:

    To get information from the user during program execution -> Option A
  4. Quick Check:

    Input = get user data [OK]
Hint: Input means getting data from user, not showing it [OK]
Common Mistakes:
  • Confusing input with output (printing)
  • Thinking input declares variables
  • Mixing input with function creation
2. Which of the following is the correct way to read a single word input from the user in Go?
easy
A. fmt.Println(variable)
B. fmt.Scanln(&variable)
C. bufio.NewReader(os.Stdin).ReadString()
D. var input string

Solution

  1. Step 1: Identify input reading functions

    fmt.Scanln reads a single word or token from user input into a variable.
  2. Step 2: Eliminate other options

    fmt.Println prints output, bufio.NewReader reads full lines, and declaring a variable alone doesn't read input.
  3. Final Answer:

    fmt.Scanln(&variable) -> Option B
  4. Quick Check:

    Single word input uses fmt.Scanln [OK]
Hint: Use fmt.Scanln for simple word input [OK]
Common Mistakes:
  • Using fmt.Println to read input
  • Confusing bufio.NewReader with Scanln for single words
  • Forgetting to pass variable address with &
3. What will be the output of this Go code snippet?
var name string
fmt.Print("Enter name: ")
fmt.Scanln(&name)
fmt.Println("Hello,", name)
If the user types: John and presses Enter.
medium
A. Hello,
B. Error: missing input
C. Enter name: John
D. Hello, John

Solution

  1. Step 1: Understand input reading

    fmt.Scanln reads the word 'John' into variable name.
  2. Step 2: Understand output printing

    fmt.Println prints "Hello," followed by the value of name, which is "John".
  3. Final Answer:

    Hello, John -> Option D
  4. Quick Check:

    Input 'John' prints 'Hello, John' [OK]
Hint: Scanln reads input; println shows it back [OK]
Common Mistakes:
  • Expecting input prompt to print again
  • Thinking Scanln reads empty string
  • Confusing output with input prompt
4. What is wrong with this Go code for reading a full line input?
var input string
reader := bufio.NewReader(os.Stdin)
input, _ = reader.ReadString('\n')
fmt.Println(input)
medium
A. It does not import the bufio and os packages
B. ReadString does not read until newline
C. input variable is declared twice causing error
D. fmt.Println cannot print strings

Solution

  1. Step 1: Check package imports

    bufio and os packages must be imported to use bufio.NewReader and os.Stdin.
  2. Step 2: Verify variable declaration

    input is declared once and assigned, which is correct. ReadString reads until newline correctly. fmt.Println can print strings.
  3. Final Answer:

    It does not import the bufio and os packages -> Option A
  4. Quick Check:

    Missing imports cause errors [OK]
Hint: Always import bufio and os for buffered input [OK]
Common Mistakes:
  • Forgetting to import required packages
  • Redeclaring variables with := after declaration
  • Assuming ReadString reads partial input
5. You want to read a user's full name including spaces in Go. Which approach correctly reads and cleans the input to remove the trailing newline?
hard
A. Use fmt.Println to read input
B. Use fmt.Scanln(&name) only
C. Use bufio.NewReader(os.Stdin).ReadString('\n') and strings.TrimSpace()
D. Use fmt.Scanf("%s", &name)

Solution

  1. Step 1: Identify method for full line input

    bufio.NewReader with ReadString('\n') reads the entire line including spaces.
  2. Step 2: Remove trailing newline

    strings.TrimSpace removes extra spaces and newline characters from input.
  3. Final Answer:

    Use bufio.NewReader(os.Stdin).ReadString('\n') and strings.TrimSpace() -> Option C
  4. Quick Check:

    Full line input + trim newline = Use bufio.NewReader(os.Stdin).ReadString('\n') and strings.TrimSpace() [OK]
Hint: Use bufio + TrimSpace for full line input [OK]
Common Mistakes:
  • Using Scanln which stops at space
  • Using Scanf with %s reads only one word
  • Trying to read input with Println
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