iteration Archives - Welcome To Golang By Example https://vikasboss.github.io/tag/iteration/ Tue, 12 Nov 2019 19:22:55 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.1 https://i0.wp.com/golangbyexamples.com/wp-content/uploads/2021/05/cropped-go_border-1.png?fit=32%2C32&ssl=1 iteration Archives - Welcome To Golang By Example https://vikasboss.github.io/tag/iteration/ 32 32 159787465 Different ways of iterating over a map in Go (Golang) https://vikasboss.github.io/different-ways-iterating-over-map-go/ https://vikasboss.github.io/different-ways-iterating-over-map-go/#respond Sun, 20 Oct 2019 08:32:13 +0000 https://vikasboss.github.io/?p=327 Range operator can be used to iterate over a map in Go Let’s define a map first Iterating over all keys and values Output: Iterating over only keys Output: Iterating over only...

The post Different ways of iterating over a map in Go (Golang) appeared first on Welcome To Golang By Example.

]]>
Range operator can be used to iterate over a map in Go

Let’s define a map first

sample := map[string]string{
        "a": "x",
        "b": "y",
}
  • Iterating over all keys and values
for k, v := range sample {
   fmt.Printf("key :%s value: %s\n", k, v)
}

Output:

key :a value: x
key :b value: y
  • Iterating over only keys
for k := range sample {
   fmt.Printf("key :%s\n", k)
}

Output:

key :a
key :b
  • Iterating over only values
for _, v := range sample {
   fmt.Printf("value :%s\n", v)
}

Output:

value :x
value :y
  • Get list of all keys
keys := getAllKeys(sample)
fmt.Println(keys)

func getAllKeys(sample map[string]string) []string {
    var keys []string
    for k := range sample {
        keys = append(keys, k)
    }
    return keys
}

Output:

[a b]


The post Different ways of iterating over a map in Go (Golang) appeared first on Welcome To Golang By Example.

]]>
https://vikasboss.github.io/different-ways-iterating-over-map-go/feed/ 0 327
Go: Different ways of iterating over an Array and Slice https://vikasboss.github.io/go-different-ways-iterating-array-slice/ https://vikasboss.github.io/go-different-ways-iterating-array-slice/#respond Sun, 20 Oct 2019 07:20:42 +0000 https://vikasboss.github.io/?p=318 Go provides many different ways of iterating over an array. All examples below are also applicable to slice. Let’s define an array of letters first Using the range operator With index and...

The post Go: Different ways of iterating over an Array and Slice appeared first on Welcome To Golang By Example.

]]>
Go provides many different ways of iterating over an array. All examples below are also applicable to slice.

Let’s define an array of letters first

letters := []string{"a", "b", "c", "d", "e"}

Using the range operator

  • With index and value
for i, letter := range letters {
   fmt.Printf("%d %s\n", i, letter)
}
  • Only Value
for _, letter := range letters {
   fmt.Println(letter)
}
  • Only index
for i := range letters {
   fmt.Println(i)
}
  • Without value and index. Just print array values
i := 0
for range letters {
  fmt.Println(i)
  i++
}

Using Only For operator

  • Single initialization and post
len := len(letters)
for i := 0; i < len; i++ {
  fmt.Println(letters[i])
}
  • Multiple initialization and post statement
len := len(letters)
for i, j := 0, len; i < j; i, j = i+1, j-1 {
  fmt.Println(letters[i])
}

The post Go: Different ways of iterating over an Array and Slice appeared first on Welcome To Golang By Example.

]]>
https://vikasboss.github.io/go-different-ways-iterating-array-slice/feed/ 0 318