I'm experiencing a weird problem with my program and finally nail it down 
to what exactly went wrong, so that I can write a minimum program to 
duplicate it. See the following program:

package main


import (
 "fmt"
)


type Vertex struct {
 X int
 Y int
}


func main() {
 vs := []Vertex{
 Vertex{1, 2}, // has type Vertex
 Vertex{X: 3}, // Y:0 is implicit
 Vertex{},     // X:0 and Y:0
 }


 fmt.Printf("Vertex Slice %+v\n", vs)
 var vp *Vertex = nil
 for _, v := range vs {
 if v.X == 3 {
 vp = &v
 }
 }
 fmt.Printf("Found: %+v\n", vp)
}


https://play.golang.org/p/R645C5plojx

I was expecting that the found Vertex is "v.X == 3", however the result is 
not. 

- what exactly is causing the problem?
- how to fix it so that I got what I was looking for? 

Again, the snip is at
https://play.golang.org/p/R645C5plojx

Thanks

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/143205c1-2c86-4404-94d2-4182a6285e21%40googlegroups.com.

Reply via email to