2015-05-18 71 views
-2

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

我不是專家,但快速看看API顯示函數是元帥(一''',而不是兩個)。 – wickstopher

回答

4

輸出清楚地告訴你什麼是你的問題。

undefined: json.Marshall

表示沒有該名稱的方法。在另一邊看documentation的方法被稱爲

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

所以只用一個正確的名稱,並瞭解如何調試,因爲調試是在軟件工程中非常重要。