This commit is contained in:
wagslane
2023-05-01 15:25:27 -06:00
parent f8912668b8
commit 9be3074de6
868 changed files with 58698 additions and 2 deletions

View File

@@ -0,0 +1,64 @@
# Continue
## `continue`
The `continue` keyword stops the current iteration of a loop and continues to the next iteration. `continue` is a powerful way to use the "guard clause" pattern within loops.
```go
for i := 0; i < 10; i++ {
if i % 2 == 0 {
continue
}
fmt.Println(i)
}
// 1
// 3
// 5
// 7
// 9
```
## `break`
The `break` keyword stops the current iteration of a loop and exits the loop.
```go
for i := 0; i < 10; i++ {
if i == 5 {
break
}
fmt.Println(i)
}
// 0
// 1
// 2
// 3
// 4
```
## Assignment
As an easter egg, we decided to reward our users with a free text message if they send a [prime number](https://en.wikipedia.org/wiki/Prime_number) of text messages this year.
Complete the `printPrimes` function. It should print all of the prime numbers up to and including `max`. It should skip any numbers that are not prime.
Here's the psuedocode:
```
printPrimes(max):
for n in range(2, max+1):
if n is 2:
n is prime, print it
if n is even:
n is not prime, skip to next n
for i in range (3, sqrt(n) + 1):
if i can be multiplied into n:
n is not prime, skip to next n
n is prime, print it
```
### Breakdown
* We skip even numbers because they can't be prime
* We only check up to the square root because anything higher than the square root has no chance of multiplying evenly into `n`
* We start checking at 2 because 1 is not prime