2016-04-27 95 views
-1

所以我是全新的Go,我正在從concurrecny的python b/c移動過來。 反正我一直在尋找在net/http package documentation和偶然發現了這一點:Go language語法混淆

client := &http.Client{ 
    CheckRedirect: redirectPolicyFunc 
} 

因此,我認爲,我們都是通過引用原始客戶端結構創建客戶端變量(我認爲這是你將如何詞),但我完全丟失在

CheckRedirect: redirectPolicyFunc 

「:」的意思是什麼,我們在做什麼?還有什麼事情之前和之後呢?我閱讀了結構文檔,並做了導入教程,但我沒有看到任何東西,我可能沒有足夠努力。毫無疑問,它簡單,我只是不知道從哪裏開始尋找答案。


感謝大家的回答!這現在更有意義!

+1

複合文字的規範:https://golang.org/ref/spec#Composite_literals – JimB

+0

至少進行一次圍棋之旅,完成所有練習。 – Volker

回答

6

這叫做composite literal

您剛剛創建了一個http.Client類型的實例,並設置了屬性,然後獲取它的指針。

+0

TIL。謝謝你指點我。只是想確保我理解文檔是正確的,但基本上這只是一種簡化設置結構實例中變量初始值的方法?您可以同時創建並返回一個實例_and_設置變量嗎? – SilverEnsign99

+0

@ SilverEnsign99正確 –

+0

@ SilverEnsign99,是的,這是正確的。 (屬性或成員,而不是變量,但是) –