1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-03 07:08:01 +00:00
Files
til/go/do-something-n-times.md
2024-11-05 11:53:23 -06:00

952 B

Do Something N Times

With Go 1.23 there is a new for-range syntax that makes looping a bit easier and more compact.

Instead of needing to set up our 3-part for-loop syntax, we can say we want to do something N times with for range N.

for range n {
	// do something
}

Let's look at an actual, runnable example:

package main

import "fmt"
import "math/rand"
import "time"

func main() {
	rand.Seed(time.Now().UnixNano()) 

	food := []string{"taco", "burrito", "torta", "enchilada", "tostada"}

	for range 5 {
		randomIndex := rand.Intn(len(food))
		fmt.Println(food[randomIndex])
	}
}

The output is random and might look something like this:

$ go run loop.go
taco
burrito
tostada
taco
enchilada

I appreciate this syntax addition because it feels very akin to Ruby's #times method:

5.times do
  # do something
end

source