|  | // run | 
|  |  | 
|  | // Copyright 2011 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. | 
|  |  | 
|  | // Test that println can be the target of a go statement. | 
|  |  | 
|  | package main | 
|  |  | 
|  | import ( | 
|  | "log" | 
|  | "runtime" | 
|  | "time" | 
|  | ) | 
|  |  | 
|  | func main() { | 
|  | numg0 := runtime.NumGoroutine() | 
|  | deadline := time.Now().Add(10 * time.Second) | 
|  | go println(42, true, false, true, 1.5, "world", (chan int)(nil), []int(nil), (map[string]int)(nil), (func())(nil), byte(255)) | 
|  | for { | 
|  | numg := runtime.NumGoroutine() | 
|  | if numg > numg0 { | 
|  | if time.Now().After(deadline) { | 
|  | log.Fatalf("%d goroutines > initial %d after deadline", numg, numg0) | 
|  | } | 
|  | runtime.Gosched() | 
|  | continue | 
|  | } | 
|  | break | 
|  | } | 
|  | } |