go 语言流程语句后边不加括号有什么好处吗?

2019-11-30 18:52:46 +08:00
 mamahaha

作为强迫症看到这个实在难受.

if err := Connect(); err != nil {
    fmt.Println(err)
    return
}
6108 次点击
所在节点    Go 编程语言
17 条回复
CodeCore
2019-11-30 19:02:01 +08:00
少打字。。。
hualuogeng
2019-11-30 19:02:15 +08:00
可以少打几个字符
iceheart
2019-11-30 19:09:49 +08:00
不觉得比较容易读么?
lhx2008
2019-11-30 19:11:06 +08:00
python 也不加啊
cmdOptionKana
2019-11-30 20:07:08 +08:00
没什么特别好处,风格而已。也没什么坏处。
airplayxcom
2019-11-30 20:22:02 +08:00
打括号我觉得挺累人
loading
2019-11-30 20:23:38 +08:00
我不加括号我不舒服
iRiven
2019-11-30 20:39:31 +08:00
看习惯了也挺舒服的
kidlj
2019-11-30 21:48:40 +08:00
因为 for 不加,所以 if 也不加。

for 不加是因为 for 循环除了:

for init; condition; post { }

for condition { }

for { }

这三种类 C 的循环用法以外,还有如下类 Python for...in 的用法:

for key, value := range oldMap {
newMap[key] = value
}

for...range 除了示例中的 map 还可以用于 slice,array 和 channel,这个时候加括号是没有意义的( python 中的 for...in 同样也没有括号。)

所以这是一种统一,用一个 for 关键字支持了类似 C 的 for 和 while,以及 Python 中的 for...in 。

Go 还有一些类似的设计,比如不提供 set,使用 map 代替。
qianlifeng
2019-11-30 21:56:03 +08:00
没什么好处,都是习惯问题,用多了就习惯了。刚从其他语言转过来没有括号不习惯,后来写多了再转去其他又经常不记得写括号
reus
2019-11-30 23:45:49 +08:00
你不是强迫症,你是没熟悉而已
fzls
2019-12-01 01:37:19 +08:00
写多了就习惯了哈哈哈
mamahaha
2019-12-01 01:42:46 +08:00
会不会把 go 用习惯了,用其他的语言又不习惯了,不知道大家用过一段 go 语言后切换语言还习不习惯。
go 的功能这么全,是不是用惯了 go 基本就不想用别的语言了。
ooops
2019-12-01 01:54:11 +08:00
oc 需要,swift 不需要,我觉得还是 swift 的舒服一点。打括号还要去移动很远去按 shift 键。
akira
2019-12-01 02:44:28 +08:00
一直觉得符号这种东西 应该越少越好,有些语言倒好,啥符号都用上了还不够,还要 2 个符号一起上
missdeer
2019-12-01 10:08:59 +08:00
少打字
fzls
2019-12-02 12:35:30 +08:00
@mamahaha 确实会不习惯,尤其是你要同时用到 go/cpp/c#这几个的时候哈哈哈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/624641

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX