英文:
go program throwing error cannot find package "code.google.com/p/go.net/websocket"
问题
我是你的中文翻译助手,以下是你的代码的翻译:
我是Go编程语言的新手。以下是我的代码。
package main
import (
"code.google.com/p/go.net/websocket"
"fmt"
"net/http"
"strconv"
)
var add := "12345"
func EchoLengthServer(ws *webscoket.Conn) {
var msg string
for {
websocket.Message.Receive(ws, &msg)
fmt.Println("收到消息", msg)
length := len(msg)
if err := websocket.Message.Send(ws, strconv.FormatInt(int64(length), 10)); err != nil {
fmt.Println("无法发送消息长度")
break
}
}
}
func websocketListen() {
http.Handle("/length", websocket.Handler(EchoLengthServer))
err := http.ListenAndServe(addr, nil)
if err != nil {
panic("ListenAndServe:" + err.Error())
}
}
当我执行这段代码时,我得到以下错误:
[rajkumar@localhost ch4-DesigningAPI]$ go run WebSockets.go
WebSockets.go:6:3: 找不到包 "code.google.com/p/go.net/websocket",在以下位置中都找不到:
/usr/local/go/src/code.google.com/p/go.net/websocket (来自 $GOROOT)
/home/rajkumar/GOPackages/src/code.google.com/p/go.net/websocket (来自 $GOPATH)
我尝试使用go get
命令将websocket包添加到GOPATH中,但是也出现以下错误:
[rajkumar@localhost ch4-DesigningAPI]$ go get code.google.com/p/go.net/websocket
go: 缺少Mercurial命令。请参阅 http://golang.org/s/gogetcmd
package code.google.com/p/go.net/websocket: exec: "hg": 在$PATH中找不到可执行文件
请问你能帮我解决这个错误吗?
英文:
I am new to Go programming language. Below is my code.
package main
import (
"code.google.com/p/go.net/websocket"
"fmt"
"net/http"
"strconv"
)
var add := "12345"
func EchoLengthServer(ws *webscoket.Conn) {
var msg string
for {
websocket.Message.Receive(ws, &msg)
fmt.Println("Got Message", msg)
length := len(msg)
if err := websocket.Message.Send(ws, strconv.FormatInt(int64(length), 10)); err != nil {
fmt.Println("can't send message length")
break
}
}
}
func websocketListen() {
http.Handle("/length", websocket.Handler(EchoLengthServer))
err := http.ListenAndServe(addr, nil)
if err != nil {
panic("ListenAndServe:" + err.Error())
}
}
when I executed the code i got below error
[rajkumar@localhost ch4-DesigningAPI]$ go run WebSockets.go
WebSockets.go:6:3: cannot find package "code.google.com/p/go.net/websocket" in any of:
/usr/local/go/src/code.google.com/p/go.net/websocket (from $GOROOT)
/home/rajkumar/GOPackages/src/code.google.com/p/go.net/websocket (from $GOPATH)
I tried to add websocket package in GOPATH by go get command but that is also throwing below error
[rajkumar@localhost ch4-DesigningAPI]$ go get code.google.com/p/go.net/websocket
go: missing Mercurial command. See http://golang.org/s/gogetcmd
package code.google.com/p/go.net/websocket: exec: "hg": executable file not found in $PATH
Could you please help me in resolving this error.
答案1
得分: 15
这样怎么样?
$ go get -v golang.org/x/net/websocket
golang.org/x/net/websocket
$
package main
import (
"fmt"
"net/http"
"strconv"
"golang.org/x/net/websocket"
)
var addr = "12345"
func EchoLengthServer(ws *websocket.Conn) {
var msg string
for {
websocket.Message.Receive(ws, &msg)
fmt.Println("收到消息", msg)
length := len(msg)
if err := websocket.Message.Send(ws, strconv.FormatInt(int64(length), 10)); err != nil {
fmt.Println("无法发送消息长度")
break
}
}
}
func websocketListen() {
http.Handle("/length", websocket.Handler(EchoLengthServer))
err := http.ListenAndServe(addr, nil)
if err != nil {
panic("ListenAndServe:" + err.Error())
}
}
func main() {}
英文:
How about this?
$ go get -v golang.org/x/net/websocket
golang.org/x/net/websocket
$
-
package main
import (
"fmt"
"net/http"
"strconv"
"golang.org/x/net/websocket"
)
var addr = "12345"
func EchoLengthServer(ws *websocket.Conn) {
var msg string
for {
websocket.Message.Receive(ws, &msg)
fmt.Println("Got Message", msg)
length := len(msg)
if err := websocket.Message.Send(ws, strconv.FormatInt(int64(length), 10)); err != nil {
fmt.Println("can't send message length")
break
}
}
}
func websocketListen() {
http.Handle("/length", websocket.Handler(EchoLengthServer))
err := http.ListenAndServe(addr, nil)
if err != nil {
panic("ListenAndServe:" + err.Error())
}
}
func main() {}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论