go語言 reflect: Call with too few input arguments?
01-26
小白 剛開始接觸go語言 在嘗試io輸出的時候遇到了提示reflect: Call with too few input arguments
package controllersimport (
"fmt" "http://github.com/astaxie/beego" // import your used driver "io""net/http"
)type UploadController struct { beego.Controller}func (c *UploadController) NoUpload(w http.ResponseWriter, r *http.Request) {
io.WriteString(w, "&&&我的第一個頁面& &&& &&")}路由是這樣的package routersimport (
"http://github.com/astaxie/beego" "hello/controllers")func init() {
beego.Router("/", controllers.MainController{}) beego.Router("/upload", controllers.UploadController{}, "get:NoUpload;post:Upload")}跪求講解
我跪求你不要用beego了,如果使用一個框架時遇到的問題你沒法直接解決,那就不要用它。用框架是為了降低複雜度,提高效率,然而你用它,只是自找麻煩。簡單事情簡單做,用標準庫足夠了:https://godoc.org/net/httphttps://godoc.org/html/templatePHP、Python都有伺候新手得不錯的MVC框架,然而beego不是,不經過多年發展是不行的。再說了,現在的潮流是非MVC的web框架,用go再造一個MVC框架有什麼意義呢?再好也好不過PHP、Python、Java、Ruby那些成熟的。
建議多閱讀一下文檔。beego的控制器函數是不需要這樣傳參數的。相關文檔見:http://beego.me/docs/mvc/controller/controller.md另外,如果遇到這種問題,可以到beego的github issue里提issue[Issues · astaxie/beego · GitHub]發問。也可以到一些Go語言相關的QQ群里請教。
beego整體的使用性和代碼可讀性真的不怎麼好,僅僅做HTTP服務的話建議用gin,如果是做web的話,建議不要用Golang,go不適合干這個
入門可以,入門後趕緊忘掉這個框架。要不然寫出一堆爛代碼
推薦閱讀:
※你希望 Go 2 有哪些改善和新特性?
※R語言第一戰之數據結構初體驗
※小鳥的live——畫畫與編程
※大家閱讀過的編程經典書籍有哪些?
※為什麼在編程相關的技術論壇里,很多人答非所問?