// 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") | |
} | |
} |