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.
7 // Test functions and goroutines.
11 func caller(f
func(int, int) int, a
, b
int, c
chan int) {
15 func gocall(f
func(int, int) int, a
, b
int) int {
21 func call(f
func(int, int) int, a
, b
int) int {
25 func call1(f
func(int, int) int, a
, b
int) int {
29 var f
func(int, int) int
31 func add(x
, y
int) int {
35 func fn() func(int, int) int {
39 var fc
func(int, int, chan int)
41 func addc(x
, y
int, c
chan int) {
45 func fnc() func(int, int, chan int) {
51 println("wrong val", x
)
58 func emptyresults() {}
64 three(call(add
, 1, 2))
65 three(call1(add
, 1, 2))
69 three(call(fn(), 1, 2))
70 three(call1(fn(), 1, 2))
71 three(call(func(a
, b
int) int { return a
+ b
}, 1, 2))
72 three(call1(func(a
, b
int) int { return a
+ b
}, 1, 2))
82 go func(a
, b
int, c
chan int) { c
<- a
+b
}(1, 2, c
)
87 nothing
= emptyresults