Start learning free

LESSON 165 OF 404 · PROJECTS: EVERYDAY PROGRAMS

Shopping Cart V4 - Cart Sum in Go

Practice

Use a for loop over parallel slices to compute a running total across several items.

You start with:

items := []string{"Shirt", "Pants", "Shoes", "Hat"}
prices := []int{25, 40, 60, 15}
quantities := []int{2, 1, 1, 3}

Build:

Shirt x2: $50
Pants x1: $40
Shoes x1: $60
Hat x3: $45
Total: $195

Rules:

  • For each index i, the item's subtotal is prices[i] * quantities[i].
  • Build one line per item, in order, in the format "Name xQ: $subtotal" (e.g. "Shirt x2: $50").
  • Add every subtotal to a running total.
  • Finish with a "Total: $..." line.
  • Join all the lines with a newline "\n" into one string result, then print it with fmt.Println(result).

Use lines := []string{} and total := 0 before the loop, then append each formatted line.

Call strings.Join(lines, "\n") at the end.

items := []string{"Shirt", "Pants", "Shoes", "Hat"}
prices := []int{25, 40, 60, 15}
quantities := []int{2, 1, 1, 3}

lines := []string{}
total := 0
for i := range items {
    sub := prices[i] * quantities[i]
    total = total + sub
    lines = append(lines, items[i] + " x" + strconv.Itoa(quantities[i]) + ": $" + strconv.Itoa(sub))
}
lines = append(lines, "Total: $" + strconv.Itoa(total))
result := strings.Join(lines, "\n")
fmt.Println(result)

STEP 1 OF 9
    Ctrl + Enter to check

    Shopping Cart V4 in Go

    Keep going with GoAbout 340 step-by-step lessons, from your first line of code to coding interviews. Free to start.
    Start learning free