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
7package main
8
9var (
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
17func look(s string) (string, bool) {
18	x, ok := m[s]
19	return x, ok
20}
21
22func f() int {
23	nf++
24	return nf
25}
26
27func 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