去语言程序错误

时间:2015-05-18 02:01:10

标签: go

我是一名新的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)

}

2 个答案:

答案 0 :(得分:4)

输出清楚地告诉你你的问题是什么。

  

undefined:json.Marshall

表示没有使用此名称的方法。另一方面,查看documentation方法称为

  

func Marshal(v interface {})([] byte,error)

因此,只需使用正确的名称并学习如何调试,因为调试在软件工程中非常重要。

答案 1 :(得分:1)

更新您的计划

output, err := json.Marshal(message)

Marshal只有一个lhttp://golang.org/pkg/encoding/json/#Marshal)。