github.com/huandu/go@v0.0.0-20151114150818-04e615e41150/doc/progs/timeout2.go (about) 1 // Copyright 2012 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package query 6 7 type Conn string 8 9 func (c Conn) DoQuery(query string) Result { 10 return Result("result") 11 } 12 13 type Result string 14 15 func Query(conns []Conn, query string) Result { 16 ch := make(chan Result, 1) 17 for _, conn := range conns { 18 go func(c Conn) { 19 select { 20 case ch <- c.DoQuery(query): 21 default: 22 } 23 }(conn) 24 } 25 return <-ch 26 } 27 28 // STOP OMIT