GO 2 设计草案公布了

2018-08-29 10:37:51 +08:00
 feiyuanqiu

https://go.googlesource.com/proposal/+/master/design/go2draft.md

主要涉及社区呼声最高的痛点:泛型,错误处理。 但是习惯了 Java,看这个语法感觉有点奇怪...

8590 次点击
所在节点    Go 编程语言
52 条回复
wenzhoou
2018-08-29 10:54:29 +08:00
以后代码每一行都要加一个 check 罗。😁😁
zhs227
2018-08-29 11:00:28 +08:00
```
func main() {
handle err {
log.Fatal(err)
}

hex := check ioutil.ReadAll(os.Stdin)
data := check parseHexdump(string(hex))
os.Stdout.Write(data)
}
```

我觉得不如 Rust 的?宏简单。
hex := ioutil.ReadAll(os.Stdin)?
data := parseHexdump(string(hex))?

多好。
GO 不支持 3 目运算符,所以问号应该也是可以使用的。
feiyuanqiu
2018-08-29 11:07:35 +08:00
V 站不能编辑主题,也不能 append...

简单搬运一些草案中的新的语法设计

BBCCBB
2018-08-29 11:14:32 +08:00
丑拒.
zn
2018-08-29 11:32:59 +08:00
我一直拒绝 Go 的原因就是语法太 tmd 丑了,越写越想吐槽,越写越难受。
XIVN1987
2018-08-29 11:35:30 +08:00
感觉这错误处理还不如 try...cache/except 好看,,有点儿丑,,
loongwang
2018-08-29 11:39:05 +08:00
有点难受
bobuick
2018-08-29 11:40:02 +08:00
真 jb 丑。虽然我用了很多 go。
error 处理要么就粗暴搞成跟人家 java 一样的, 要么就学 rust 那类学院点。

三元语法没有,也叫草案。
MeteorCat
2018-08-29 11:43:44 +08:00
说实话真的不如`try...cache/except`好看
PureWhiteWu
2018-08-29 11:47:39 +08:00
@MeteorCat
@XIVN1987
try cache 是啥?
我只用过 try catch
8023
2018-08-29 11:48:36 +08:00
先把函数参数默认值加上再说别的...
MeteorCat
2018-08-29 11:48:52 +08:00
@PureWhiteWu 完了,复制黏贴丢脸了
anying
2018-08-29 11:49:28 +08:00
真。。。丑拒
danc
2018-08-29 12:27:25 +08:00
@zhs227 对的,还是觉得 rust 的宏好用
KevinAce
2018-08-29 12:54:07 +08:00
错误处理和没改一样
sampeng
2018-08-29 12:55:03 +08:00
真心需要 rust 的那个宏啊。。好用到爆炸啊。。。
go 没有宏多写多少代码啊。。。
3d3ec7a
2018-08-29 13:15:10 +08:00
公司在用 go. 这玩意儿各种语意不一致, 自相矛盾. 工程师拍脑门想出来的东西不靠谱. 还是要学术界的人设计才行.
dodo2012
2018-08-29 13:21:35 +08:00
语法真的是,,怎么说,虽然觉得 rust 语法真难学,但这个就,,简单是简单,但是太丑了吧
prolic
2018-08-29 13:26:13 +08:00
丑拒,要改成这样我有概率会转化成 go1 死忠了
michaelcheng
2018-08-29 13:30:49 +08:00
感觉这样处理错误还不是很爽

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

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

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

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

© 2021 V2EX