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 } 37