2012-07-10 56 views
1

我喜歡在Go中將類型名稱與變量分開。 我一直在玩如下:圍繞類型名稱的括號

var target (int64) = 600851475143 
var largest (int64) = 0 
var i (int64) 

到目前爲止,它編譯正確,我沒有看到在我的程序運行的結果有什麼區別。

這樣很危險嗎?上面和下面有沒有語義上的區別?

var target int64 = 600851475143 
var largest int64 = 0 
var i int64 

感謝

+2

現在大多數編輯器都支持語法高亮顯示。只要選擇一個不錯的配色方案(或者自己寫),以更大膽和不同顏色打印類型。 – tux21b 2012-07-10 21:34:45

回答

8

沒有語義差異,但你可能會發現自己對抗go fmt,所以我想這是不值得的。

+0

啊,是的,我沒有考慮去fmt--這是一個考慮因素。 – sea6ear 2012-07-10 21:22:28

4

您不單獨編碼。

即使沒有人讀過你的代碼,你也會閱讀其他人的代碼:標準API之一,你將使用的組件之一,以及博客之一,所以答案和所有單證。

格式化由gofmt帶來的標準化,可確保您輕鬆讀取所有代碼,而無需習慣編寫器的格式化風格。在一個簡單格式的代碼中,很多錯誤是自然而然地避免的,因爲不常見的錯誤立即可見。

此外,這裏就像你沒有括號增強的代碼看起來像在一個標準的編輯器:

enter image description here

無需添加一些東西,讓類型可見。

我建議您在所有代碼上運行gofmt並閱讀標準軟件包代碼,以嘗試使用相同的格式樣式(包括註釋)。

Here's what Rob Pike had to say about code and comment decoration.我覺得這些都是好的建議,即使不是一切都適用。