30 lines
656 B
Go
30 lines
656 B
Go
package main
|
|
|
|
import "fmt"
|
|
|
|
func main() {
|
|
s := []int{1, 2, 2, 3, 4, 4, 5}
|
|
|
|
// There is no output as 'prev' is created anew each time
|
|
// around the loop and set implicitly to zero.
|
|
for i := 0; i < len(s); i++ {
|
|
curr := s[i]
|
|
var prev int
|
|
if i > 0 && curr == prev {
|
|
fmt.Println(i)
|
|
}
|
|
prev = curr
|
|
}
|
|
|
|
// Now 'prev' is created only once and reassigned
|
|
// each time around the loop producing the desired output.
|
|
var prev int
|
|
for i := 0; i < len(s); i++ {
|
|
curr := s[i]
|
|
if i > 0 && curr == prev {
|
|
fmt.Println(i)
|
|
}
|
|
prev = curr
|
|
}
|
|
}
|