golang 语言学习有感

2020-01-15 11:24:07 +08:00
 woahishui
刚开始学习 golang,越看越有 basic 语言的味道,但是有没有 basic 丰富,难道是简化的 basic 语言
7927 次点击
所在节点    程序员
58 条回复
zjsxwc
2020-01-15 11:32:40 +08:00
你加入 CSP 编程模式试试
tt67wq
2020-01-15 11:33:28 +08:00
难道不是 c 语言的味道?
zcreg
2020-01-15 11:37:08 +08:00
难道不是 c 语言的味道?
cmdOptionKana
2020-01-15 11:37:49 +08:00
对于喜欢奇巧淫技的人来说,golang 显得不够简洁、优雅、好玩。

但其实 golang 的精简恰到好处,当你用 golang 写了程序,过一段时间回头去修改的时候就会发现 golang 的伟大,它让一切都井井有条一目了然,并且非常容易重构和扩展。
lihongjie0209
2020-01-15 11:42:20 +08:00
@cmdOptionKana #4 从来没听说使用了 xxx 语言就能把代码组织好的
pursuer
2020-01-15 12:17:49 +08:00
c 语言有形成标准的 ABI (这使得 C 可以容易的热更新动态库),可以用宏,没有 GC,类型前置,类型隐式转换,不支持闭包,这些都是和 Go 不一样的地方,我觉得 go 和 C 差挺多的吧。
wellsc
2020-01-15 13:10:53 +08:00
@cmdOptionKana 尤其是 error handler,简直独一无二
ytll21
2020-01-15 13:11:59 +08:00
@cmdOptionKana 伟大都用上了。。。允许我吐一会儿。。。哈哈哈,抱歉,无恶意
d0m2o08
2020-01-15 13:16:58 +08:00
golang: 我不相信你们的技术,就按我的条条框框来,别瞎鸡儿折腾
qq316107934
2020-01-15 13:19:47 +08:00
@cmdOptionKana 除了处理 json 数据麻烦的要死
Hanggi
2020-01-15 13:21:19 +08:00
我觉得 go 语言最大特点是在编写和编译层面都强制用户遵守他们的规则,使得 go 语言写出来的代码相比其他语言没有那么多的变种和奇葩。当其他语言在争吵这个地方要不要空格、那个地方要不要缩紧或是换行的时候,gofmt 已经给你强制格式化了。
cmdOptionKana
2020-01-15 13:27:10 +08:00
@lihongjie0209 你误会了,我并不是说用 golang 就一定能让代码绝对组织得非常好。我的意思是,它对更好地组织代码有帮助,在我看来,帮助很大。
cmdOptionKana
2020-01-15 13:29:11 +08:00
@qq316107934 再忍一会儿,马上就有改进了,因为那是由于缺少泛型而导致的麻烦,很快就会支持泛型。
lewis89
2020-01-15 13:31:02 +08:00
@Hanggi #11 这些 空格 tab 换行 圣战者 都是一些根本不懂编程的初学者,好的语言根本不屑于在这上面提供一些条条框框的东西。
k9982874
2020-01-15 13:33:06 +08:00
@wellsc #7 上来直接打脸就不好了啊
lihongjie0209
2020-01-15 13:34:26 +08:00
@Hanggi #11 你觉得代码的问题是格式化的问题? clean code 难道是教你怎么配置 editor config? effective java 教你怎么缩进?
charlie21
2020-01-15 13:34:27 +08:00
学了汉语拼音就开始感叹中华文化博大精深.jpg
cmdOptionKana
2020-01-15 13:36:05 +08:00
@wellsc 刚开始我也很烦它的错误处理,烦到炸。

但是后来发现,这其实是因为错误处理本身就是个麻烦事,try catch 那种方式企图掩盖错误处理的麻烦本质,但是并不完美,也有很多缺陷。

golang 那样设计是为了把这个麻烦本质暴露出来,如果根据 golang 的设计思想认真处理每一个 error,就会发现这对代码 debug 带来很大帮助。

加上最近 errors 库的小改进以及即将到来的一些改进,这个一直被很多人诟病的缺点也会得到很大改善。
Hanggi
2020-01-15 13:43:51 +08:00
@lihongjie0209
@lewis89
代码格式化只是一个最直接的例子,这种设计体现在 GO 语言的方方面面,你们可以自行体会。

简单说 GO 语言的优点有以下几点:
强制的代码风格(仁者见仁)
强大的标准库
对操作系统极少的依赖
优秀的性能

这些东西可能其他语言也都能满足,但是合到一起就会对上某些人的胃口,自然会赞不绝口。
wutiantong
2020-01-15 13:46:40 +08:00
为啥国内 Golang 的信徒那么多啊?

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

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

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

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

© 2021 V2EX