2012-07-10 54 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.我觉得这些都是好的建议,即使不是一切都适用。