Bird
Raised Fist0
Goprogramming~5 mins

Output formatting basics in Go - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What package is commonly used in Go for formatted output?
The fmt package is used for formatted output in Go. It provides functions like Println, Printf, and Sprintf.
Click to reveal answer
beginner
What does fmt.Printf("Hello, %s!", name) do?
It prints the string Hello, followed by the value of name, replacing %s with that string value.
Click to reveal answer
beginner
Name two common format verbs used in Go's fmt.Printf.
Two common verbs are:
- %d for integers
- %f for floating-point numbers
Click to reveal answer
intermediate
How do you print a floating-point number with 2 decimal places in Go?
Use %.2f in fmt.Printf. For example: fmt.Printf("%.2f", 3.14159) prints 3.14.
Click to reveal answer
beginner
What is the difference between fmt.Println and fmt.Printf?
fmt.Println prints values with spaces and adds a newline automatically.
fmt.Printf prints formatted output according to a format string you provide.
Click to reveal answer
Which fmt function allows you to format output with verbs like %d and %s?
Afmt.Scan
Bfmt.Println
Cfmt.Sprint
Dfmt.Printf
What does the verb %s represent in Go's formatting?
AString
BInteger
CFloating-point number
DBoolean
How do you print a float with exactly 3 decimal places?
A%3f
B%.f3
C%.3f
D%f3
Which function automatically adds a newline after printing?
Afmt.Println
Bfmt.Printf
Cfmt.Print
Dfmt.Sprintf
What will fmt.Printf("%d", 42) print?
A%d
B42
C42.0
DError
Explain how to use fmt.Printf to format a string and an integer in one line.
Think about how to combine text and variables using format verbs.
You got /3 concepts.
    Describe the difference between fmt.Println and fmt.Printf in Go.
    One adds a newline automatically, the other needs a format string.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the %d format specifier do in fmt.Printf in Go?
      easy
      A. Prints an integer value
      B. Prints a floating-point number
      C. Prints a string
      D. Prints a boolean value

      Solution

      1. Step 1: Understand format specifiers in Go

        The %d specifier is used to print decimal integers in Go's fmt.Printf.
      2. Step 2: Match specifier to data type

        Since %d prints integers, it matches integer values, not floats, strings, or booleans.
      3. Final Answer:

        Prints an integer value -> Option A
      4. Quick Check:

        %d = integer [OK]
      Hint: Remember %d is for decimal integers in printf [OK]
      Common Mistakes:
      • Confusing %d with %f for floats
      • Using %d for strings
      • Thinking %d prints booleans
      2. Which of the following is the correct syntax to print a string variable name using fmt.Printf in Go?
      easy
      A. fmt.Printf("%d", name)
      B. fmt.Printf("%f", name)
      C. fmt.Printf("%s", name)
      D. fmt.Printf(name)

      Solution

      1. Step 1: Identify the correct format specifier for strings

        The format specifier for strings in Go's fmt.Printf is %s.
      2. Step 2: Check the syntax correctness

        fmt.Printf("%s", name) uses fmt.Printf("%s", name), which correctly prints the string variable name.
      3. Final Answer:

        fmt.Printf("%s", name) -> Option C
      4. Quick Check:

        %s prints strings [OK]
      Hint: Use %s for strings in fmt.Printf [OK]
      Common Mistakes:
      • Using %d or %f for strings
      • Omitting quotes around format string
      • Passing variable without format specifier
      3. What is the output of the following Go code?
      package main
      import "fmt"
      func main() {
          x := 7
          y := 3.14
          fmt.Printf("x = %d, y = %.1f\n", x, y)
      }
      medium
      A. x = 7, y = 3.1
      B. x = 7, y = 3.14
      C. x = 7, y = 3.0
      D. x = 7, y = 3

      Solution

      1. Step 1: Understand the format specifiers used

        %d prints integer x as 7. %.1f prints floating-point y rounded to 1 decimal place.
      2. Step 2: Apply rounding to y

        3.14 rounded to 1 decimal place is 3.1, so output is "x = 7, y = 3.1".
      3. Final Answer:

        x = 7, y = 3.1 -> Option A
      4. Quick Check:

        %.1f rounds float to 1 decimal [OK]
      Hint: %.1f rounds float to 1 decimal place [OK]
      Common Mistakes:
      • Expecting full float without rounding
      • Confusing %d with %f
      • Ignoring newline character
      4. Identify the error in this Go code snippet:
      package main
      import "fmt"
      func main() {
          name := "Alice"
          age := 30
          fmt.Printf("Name: %s, Age: %f\n", name, age)
      }
      medium
      A. Missing newline character in format string
      B. Missing import statement
      C. Incorrect variable declaration
      D. Using %f to print an integer variable

      Solution

      1. Step 1: Check format specifiers against variable types

        name is a string, printed with %s correctly. age is an integer but printed with %f, which expects a float.
      2. Step 2: Identify the mismatch causing error

        Using %f for an integer causes a runtime error or incorrect output.
      3. Final Answer:

        Using %f to print an integer variable -> Option D
      4. Quick Check:

        Match %f with float, not int [OK]
      Hint: Match %f only with float variables [OK]
      Common Mistakes:
      • Using %f for integers
      • Ignoring type mismatch warnings
      • Assuming %f works for all numbers
      5. You want to print a table of product names and prices aligned in columns using fmt.Printf. Which format string correctly aligns the name left in 10 spaces and price right in 6 spaces with 2 decimals?
      fmt.Printf("...", name, price)
      hard
      A. "%10s %-6.2f\n"
      B. "%-10s %6.2f\n"
      C. "%10s %6.2f\n"
      D. "%-10s %-6.2f\n"

      Solution

      1. Step 1: Understand alignment flags in format strings

        In Go, %-10s means left-align string in 10 spaces; %6.2f means right-align float in 6 spaces with 2 decimals.
      2. Step 2: Match alignment to requirements

        We want product name left-aligned in 10 spaces and price right-aligned in 6 spaces with 2 decimals, so "%-10s %6.2f\n" fits.
      3. Final Answer:

        "%-10s %6.2f\n" -> Option B
      4. Quick Check:

        Left-align string with %-10s, right-align float with %6.2f [OK]
      Hint: Use - for left-align strings, no - for right-align numbers [OK]
      Common Mistakes:
      • Swapping alignment flags
      • Using wrong width or precision
      • Forgetting to specify decimal places for floats
      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