From aea97e0bd7da9cef1cc631ddbd3578a0877a4fcc Mon Sep 17 00:00:00 2001 From: Rob Pike Date: Wed, 16 Dec 2009 10:29:53 +1100 Subject: update tutorial. R=rsc CC=golang-dev http://codereview.appspot.com/179063 --- doc/progs/server.go | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) (limited to 'doc/progs/server.go') diff --git a/doc/progs/server.go b/doc/progs/server.go index 8906e9635..f3a6b1889 100644 --- a/doc/progs/server.go +++ b/doc/progs/server.go @@ -7,45 +7,45 @@ package main import "fmt" type request struct { - a, b int; - replyc chan int; + a, b int + replyc chan int } type binOp func(a, b int) int func run(op binOp, req *request) { - reply := op(req.a, req.b); - req.replyc <- reply; + reply := op(req.a, req.b) + req.replyc <- reply } func server(op binOp, service chan *request) { for { - req := <-service; - go run(op, req); // don't wait for it + req := <-service + go run(op, req) // don't wait for it } } func startServer(op binOp) chan *request { - req := make(chan *request); - go server(op, req); - return req; + req := make(chan *request) + go server(op, req) + return req } func main() { - adder := startServer(func(a, b int) int { return a + b }); - const N = 100; - var reqs [N]request; + adder := startServer(func(a, b int) int { return a + b }) + const N = 100 + var reqs [N]request for i := 0; i < N; i++ { - req := &reqs[i]; - req.a = i; - req.b = i + N; - req.replyc = make(chan int); - adder <- req; + req := &reqs[i] + req.a = i + req.b = i + N + req.replyc = make(chan int) + adder <- req } for i := N-1; i >= 0; i-- { // doesn't matter what order if <-reqs[i].replyc != N + 2*i { - fmt.Println("fail at", i); + fmt.Println("fail at", i) } } - fmt.Println("done"); + fmt.Println("done") } -- cgit v1.2.3