lesloli
V2EX  ›  问与答

关于 Go 语言的某个问题

  •  
  •   lesloli · Jun 27, 2018 · 937 views
    This topic created in 2905 days ago, the information mentioned may be changed or developed.
    
    func echo(w http.ResponseWriter, r *http.Request) {
    	var dd map[string]interface{}
    	c, _ := upgrader.Upgrade(w, r, nil)
    
    	defer c.Close()
    	for {
    
    		mt, c_cmd, _ := c.ReadMessage()
    		if c_cmd != nil {
    
    			json.Unmarshal(c_cmd, &dd)
    			fmt.Println(dd)
    
    		}
    }
    

    我用 go 语言建立 websocket 连接处理信息,当读取到信息时赋值给 c_cmd 然后用 json.Unmarshal 转换成 map 类型, 测试的时候只有第一次收到信息可以转换成 map 类型,第二次收到信息后,输出的 dd 还是第一次的结果。 请问这是为什么

    1 replies    2018-06-27 16:24:42 +08:00
    zjlletian
        1
    zjlletian  
       Jun 27, 2018
    err := json.Unmarshal(c_cmd, &dd),再判断一下 err
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3207 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:29 · PVG 19:29 · LAX 04:29 · JFK 07:29
    ♥ Do have faith in what you're doing.