Go 的编程思想是什么?

2019-03-07 11:08:13 +08:00
 index90

一直 OOP,换到 Go 也是用 OOP 思想,但总感觉很别扭啊。 有没有什么指引?

12997 次点击
所在节点    Go 编程语言
94 条回复
tt67wq
2019-03-07 11:10:23 +08:00
能跑就得了,你还要啥自行车啊?
JohnSmith
2019-03-07 11:11:03 +08:00
组合模式+interface 解耦
Yoock
2019-03-07 11:11:33 +08:00
多看下 go 的标准库,编程思想就是 c 语言
chenset
2019-03-07 11:11:54 +08:00
最好的指引: 撸个项目就是干, 干完就上手了 .
SuperMild
2019-03-07 11:13:15 +08:00
大多数情况下 interface 比 OOP 好用很多。
FrailLove
2019-03-07 11:15:03 +08:00
Do not communicate by sharing memory,instead, share memory by communicating.
zichen
2019-03-07 11:23:55 +08:00
看看 unix 环境高级编程就有灵感了。
janxin
2019-03-07 11:29:13 +08:00
Yuicon
2019-03-07 11:32:08 +08:00
我先去掉一些东西 变得简单又优雅 然后后面再加回来
sunny352787
2019-03-07 11:34:36 +08:00
当 C 写
wweir
2019-03-07 11:45:43 +08:00
之前专门探讨过这个问题,我的理解是:go 不需要设计模式,不是没有,而是根本不需要!

想想为什么要设计模式?相信写个普通的 hello world 的话,没人会去套设计模式。在开发大型应用时,设计模式才能体现出它真正的价值。
那么,go 真的需要写成大型应用吗?目前大多数场景的做法是直接做服务拆分,各服务间通过网络来通信。

golang 目前重型应用有一些,大型应用还真不好找。除去第三方包,如果有二十万行以上代码的 golang 项目,欢迎分享一下。
server
2019-03-07 11:46:25 +08:00
实用
wweir
2019-03-07 11:48:04 +08:00
@wweir 重型应用 => 中型应用
releaseme
2019-03-07 12:06:08 +08:00
@tt67wq 又不是不能用,2333
12101111
2019-03-07 12:10:40 +08:00
思想是 plan9,当然研究这个超前而又过时的操作系统没有什么意义。
gowk
2019-03-07 12:25:25 +08:00
@chenset +1 就是干
azh7138m
2019-03-07 12:29:02 +08:00
@wweir 很多啊,比如 https://github.com/docker/engine 再比如 k8s,刚才统计了一下,远超 20w
blless
2019-03-07 12:38:46 +08:00
awesome go
abmin521
2019-03-07 12:53:25 +08:00
@12101111 #15 distributed operating system ? 再讲一下?
rayhy
2019-03-07 13:01:36 +08:00
Golang 没有太注重设计模式,但是它的文档已经把你想要的说清楚了: https://golang.org/doc/
这里面几个链接最好都看一下,尤其是 https://golang.org/doc/effective_go.html
然后就是前几楼说的看代码了。

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

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

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

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

© 2021 V2EX