| // run | |
| // Copyright 2009 The Go Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style | |
| // license that can be found in the LICENSE file. | |
| package main | |
| var ( | |
| nf int | |
| x, y, z = f(), f(), f() | |
| m = map[string]string{"a": "A"} | |
| a, aok = m["a"] | |
| b, bok = m["b"] | |
| ) | |
| func look(s string) (string, bool) { | |
| x, ok := m[s] | |
| return x, ok | |
| } | |
| func f() int { | |
| nf++ | |
| return nf | |
| } | |
| func main() { | |
| if nf != 3 || x != 1 || y != 2 || z != 3 { | |
| println("nf=", nf, " x=", x, " y=", y) | |
| panic("fail") | |
| } | |
| if a != "A" || aok != true || b != "" || bok != false { | |
| println("a=", a, " aok=", aok, " b=", b, " bok=", bok) | |
| panic("fail") | |
| } | |
| } |