看了一个 go 语言,感觉语法略为不习惯。

2016-01-27 09:42:17 +08:00
 fire5
还是大 python 舒服。。
21480 次点击
所在节点    Python
151 条回复
est
2016-01-27 09:42:52 +08:00
其他语法还好。异常处理那语法能让人崩溃
bigtan
2016-01-27 09:43:02 +08:00
那是因为你还没看到 rust 的语法。
xunuoi
2016-01-27 09:44:07 +08:00
那是因为你还没看到 lisp 的语法。哈哈
ahjdzx
2016-01-27 09:47:19 +08:00
习惯习惯就好了
Shieffan
2016-01-27 09:49:53 +08:00
if err!=nil

if err!=nil

if err!=nil

if err!=nil

if err!=nil

if err!=nil

...
mengzhuo
2016-01-27 10:12:24 +08:00
err=nil
其实都是思路的问题, go 是门严谨的系统编程语言,想写得爽写 python js ruby 去!
janxin
2016-01-27 10:12:56 +08:00
反正看完 Rust 我又拿起了 C++11 继续看了...
go2sleep
2016-01-27 10:13:48 +08:00
@Shieffan +1 严重同意……
golang 错误处理是最大痛点
fire5
2016-01-27 10:16:18 +08:00
认真的,其实 go 语法还行,中矩中规。 第一次写 iOS 应用的时候, objectc 是火星了我一吧,当然我的 os 水平,也是只说自己能写 app 而已。

熟能生巧是关键。
fire5
2016-01-27 10:16:38 +08:00
@Shieffan 。。
haoc
2016-01-27 10:18:32 +08:00
真心痛苦,一个 lab 我写了几个月了就因为 go 这语法。。。
ltttx
2016-01-27 10:46:13 +08:00
go 写多了,反而觉得没有大括号好痛苦
bramblex
2016-01-27 10:57:25 +08:00
@mengzhuo

带着 runtime 还好意思说 “系统编程语言” ?看看人家 rust 吧……
bramblex
2016-01-27 11:03:36 +08:00
找一个你喜欢语言,然后找到这个语言的一个 Parser ,只要能转到 AST 就行了。
然后把这个 AST 翻译到目标语言,比如说 Go ……

结束,就那么简单。
hqs123
2016-01-27 11:04:17 +08:00
慢慢来,会习惯的.
loshine1992
2016-01-27 11:12:33 +08:00
这个时候默念 Kotlin 大法好,默认空类型安全
noli
2016-01-27 11:31:07 +08:00
@mengzhuo go 语言是门严谨的系统编程语言?
请问你对于“严谨”的定义是什么,对“系统编程语言”的定义是什么?

PS :你可以不理会我,因为我是 golang 黑。
chrishine
2016-01-27 11:41:16 +08:00
if err != nil {} 根本不是黑点,自己不会包装一个 checkErr(err, vars...string) 函数么?如果这个意识都没,建议还是转行吧,产品经理之类的可能比较适合。

go 的黑点在于:
1 ,不支持泛型( go 官方说是尚未找到一个平衡点,但是当初就考虑不到么?)
2 , map value 只能是值副本,不能对 map value 取址( go 官方说是 map 扩展,引用失效会如何。但是这个特性,我已经想去日藏獒了,哈士奇已经无法反映出我的内心。呐,谁让我没做过大型项目。)
3 , go 脑残粉。

微博上面曾经有人一句话吐槽过 go ,我觉得蛮不错的,拿过来分享:
go 是一门很好的语言,没有不必要的抽象,但是连必要的也没有。
fy
2016-01-27 12:06:11 +08:00
@chrishine 可啪,日狗也能分級,学到了新姿势
zhujinliang
2016-01-27 12:26:31 +08:00
@chrishine map value 取址问题,再取一次址变通一下能不能行
比如原来是 map[string]*T ,写成 map[string]**T 这样

说真的不如语言支持范型, map list 之类的做成库就是了

go 的包管理也有坑,只能自下向上引用,设计不好就出现循环引用了。之前跟一个 bug 粗看了一下 runtime.go ,发现 go 自己做这种底层组件时也不得不对 syscall 之类的包里本来有的函数又实现了一遍,这个包被其它所有包都引用,导致自己引用别的包就会出现循环引用错误

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

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

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

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

© 2021 V2EX