github.com/xushiwei/go@v0.0.0-20130601165731-2b9d83f45bc9/test/fixedbugs/bug227.go (about)

     1  // run
     2  
     3  // Copyright 2009 The Go Authors.  All rights reserved.
     4  // Use of this source code is governed by a BSD-style
     5  // license that can be found in the LICENSE file.
     6  
     7  package main
     8  
     9  var (
    10  	nf      int
    11  	x, y, z = f(), f(), f()
    12  	m       = map[string]string{"a": "A"}
    13  	a, aok  = m["a"]
    14  	b, bok  = m["b"]
    15  )
    16  
    17  func look(s string) (string, bool) {
    18  	x, ok := m[s]
    19  	return x, ok
    20  }
    21  
    22  func f() int {
    23  	nf++
    24  	return nf
    25  }
    26  
    27  func main() {
    28  	if nf != 3 || x != 1 || y != 2 || z != 3 {
    29  		println("nf=", nf, " x=", x, " y=", y)
    30  		panic("fail")
    31  	}
    32  	if a != "A" || aok != true || b != "" || bok != false {
    33  		println("a=", a, " aok=", aok, " b=", b, " bok=", bok)
    34  		panic("fail")
    35  	}
    36  }