Omitting Conditions from a for Loop in Go
for INITIAL; ; AFTER {
// do something forever
}Assignment
Solution
package main
func maxMessages(thresh int) int {
totalCost := 0
for messageCount := 0; ; messageCount++ {
addition := 100 + messageCount
if totalCost+addition > thresh {
return messageCount
} else {
totalCost += addition
}
}
}Why It Works
Key Insights
Example Walkthrough
Iteration
messageCount
addition
totalCost before
totalCost + addition
Action