ソースを参照

Merge pull request #281 from noahlt/go_fmt_lint

Make chatroom.go pass golint and gofmt
Mike Lewis 10 年 前
コミット
4d7b75b9b2
1 ファイル変更42 行追加41 行削除
  1. 42 41
      TestChatServer/go/chatroom.go

+ 42 - 41
TestChatServer/go/chatroom.go

@@ -1,60 +1,61 @@
 package main
 
 import (
-    "code.google.com/p/go.net/websocket"
-    "net/http"
+	"code.google.com/p/go.net/websocket"
+	"net/http"
 )
 
+// Msg stores both the message and the connection
 type Msg struct {
-    sender *websocket.Conn
-    msg    string
+	sender *websocket.Conn
+	msg    string
 }
 
 func run(reg chan *websocket.Conn, unreg chan *websocket.Conn, msg chan Msg) {
-    conns := make(map[*websocket.Conn]int)
-    for {
-        select {
-        case c := <-reg:
-            conns[c] = 1
-        case c := <-unreg:
-            delete(conns, c)
-        case msg := <-msg:
-            for c := range conns {
-                if c != msg.sender {
-                    websocket.Message.Send(c, msg.msg)
-                }
-            }
-        }
-    }
+	conns := make(map[*websocket.Conn]int)
+	for {
+		select {
+		case c := <-reg:
+			conns[c] = 1
+		case c := <-unreg:
+			delete(conns, c)
+		case msg := <-msg:
+			for c := range conns {
+				if c != msg.sender {
+					websocket.Message.Send(c, msg.msg)
+				}
+			}
+		}
+	}
 }
 
 func newChatServer(reg chan *websocket.Conn, unreg chan *websocket.Conn, msg chan Msg) websocket.Handler {
-    return func(ws *websocket.Conn) {
-        reg <- ws
-        for {
-            var message string
-            err := websocket.Message.Receive(ws, &message)
-            if err != nil {
-                unreg <- ws
-                break
-            }
-            msg <- Msg{ws, message}
-        }
-    }
+	return func(ws *websocket.Conn) {
+		reg <- ws
+		for {
+			var message string
+			err := websocket.Message.Receive(ws, &message)
+			if err != nil {
+				unreg <- ws
+				break
+			}
+			msg <- Msg{ws, message}
+		}
+	}
 }
 
 func main() {
-    reg := make(chan *websocket.Conn)
-    unreg := make(chan *websocket.Conn)
-    msg := make(chan Msg)
+	reg := make(chan *websocket.Conn)
+	unreg := make(chan *websocket.Conn)
+	msg := make(chan Msg)
 
-    http.Handle("/chat", websocket.Handler(newChatServer(reg, unreg, msg)))
-    http.Handle("/", http.FileServer(http.Dir("../static")))
+	http.Handle("/chat", websocket.Handler(newChatServer(reg, unreg, msg)))
+	http.Handle("/", http.FileServer(http.Dir("../static")))
 
-    go run(reg, unreg, msg)
+	go run(reg, unreg, msg)
 
-    err := http.ListenAndServe(":9000", nil)
-    if err != nil {
-        panic("ListenAndServe: " + err.Error())
-    }
+	err := http.ListenAndServe(":9000", nil)
+	if err != nil {
+		panic("ListenAndServe: " + err.Error())
+	}
 }