我是一名新的Go语言程序员。以下是我的程序,但我收到此错误:
#command-line-arguments
.\helloworld.go:20: undefined: json.Marshall
有谁可以告诉我为什么会收到错误?
package main
import (
"encoding/json"
"fmt"
"net/http"
)
type API struct {
Message string "json:message"
}
func main() {
http.HandleFunc("/api", func(w http.ResponseWriter, r *http.Request) {
message := API{"Hello, World!!!"}
output, err := json.Marshall(message)
if err != nil {
fmt.Println("Something went wrong")
}
fmt.Fprintf(w, string(output))
})
http.ListenAndServe(":8080", nil)
}
答案 0 :(得分:4)
输出清楚地告诉你你的问题是什么。
undefined:json.Marshall
表示没有使用此名称的方法。另一方面,查看documentation方法称为
func Marshal(v interface {})([] byte,error)
因此,只需使用正确的名称并学习如何调试,因为调试在软件工程中非常重要。
答案 1 :(得分:1)
更新您的计划
output, err := json.Marshal(message)
(Marshal
只有一个l
,http://golang.org/pkg/encoding/json/#Marshal)。