blob: ea8d02d10c6b6340c42e15091ce54eae4e646004 [file] [log] [blame]
Russ Cox2b1c9b42012-02-16 23:49:30 -05001// run
Russ Cox0282cc52009-12-15 14:26:33 -08002
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 (
Russ Cox00f9f0c2010-03-30 10:34:57 -070010 nf int
Russ Cox0282cc52009-12-15 14:26:33 -080011 x, y, z = f(), f(), f()
Russ Cox00f9f0c2010-03-30 10:34:57 -070012 m = map[string]string{"a": "A"}
13 a, aok = m["a"]
14 b, bok = m["b"]
Russ Cox0282cc52009-12-15 14:26:33 -080015)
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 {
Russ Cox00f9f0c2010-03-30 10:34:57 -070029 println("nf=", nf, " x=", x, " y=", y)
30 panic("fail")
Russ Cox0282cc52009-12-15 14:26:33 -080031 }
32 if a != "A" || aok != true || b != "" || bok != false {
Russ Cox00f9f0c2010-03-30 10:34:57 -070033 println("a=", a, " aok=", aok, " b=", b, " bok=", bok)
34 panic("fail")
Russ Cox0282cc52009-12-15 14:26:33 -080035 }
36}