|  | // run | 
|  |  | 
|  | // Copyright 2010 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 | 
|  | var ng int | 
|  |  | 
|  | func f() (int, int, int) { | 
|  | nf++ | 
|  | return 1, 2, 3 | 
|  | } | 
|  |  | 
|  | func g() int { | 
|  | ng++ | 
|  | return 4 | 
|  | } | 
|  |  | 
|  | var x, y, z = f() | 
|  | var m = make(map[int]int) | 
|  | var v, ok = m[g()] | 
|  |  | 
|  | func main() { | 
|  | if x != 1 || y != 2 || z != 3 || nf != 1 || v != 0 || ok != false || ng != 1 { | 
|  | println("x=", x, " y=", y, " z=", z, " nf=", nf, " v=", v, " ok=", ok, " ng=", ng) | 
|  | panic("fail") | 
|  | } | 
|  | } |