我一直在學習GO Lang一個月。我在java中編寫了4年多。在Java中,Request和Response都是對象引用。但是,當談到GoLang時,Response是一個對象引用,Request是一個指針引用。爲什麼請求是一個指針變量?爲什麼不是參考變量?
引用,就像一個指針,是一個可以用來間接引用另一個對象的對象。引用聲明與指針聲明基本上具有相同的語法結構。
func hello(w http.ResponseWriter, r *http.Request) {
io.WriteString(w, "Hello world!")
}
除了可讀性和語法糖之外,還有其他一些使用Request作爲指針變量的意圖。
添加到上面的問題,這裏的請求是一個任意的指針。即該請求尚不存在,但該指針已經指向一個存儲位置。如果我的理解錯誤,請拋出一些光。
golang中只有指針沒有引用。並且所有參數都按值傳遞。 – zzn
@zzn我並不期待客觀的答案。你能否花一些寶貴的時間來闡述一下? – dataEnthusiast
@zzn謝謝,我得到了資源https://kuree.gitbooks.io/the-go-programming-language-report/content/26/text.html – dataEnthusiast