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 isprices[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 stringresult, then print it withfmt.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)
Free plan: 30 tutor messages. Premium is unlimited.
Saved
Ctrl + Enter to check
