![]() | 1 darksword21 PRO ![]() |
2 mepwang 2020-12-03 20:11:55 +08:00 via iPhone 简洁不简单 |
3 14v45mJPBYJW8dT7 2020-12-03 20:15:01 +08:00 难的从来不是语法,再复杂的语言写简单的业务都不会太复杂。 |
![]() | 4 lewinlan 2020-12-03 20:35:37 +08:00 via Android 有一说一,mongogodrive 确实有点毒…… |
5 INCerry 2020-12-03 20:50:55 +08:00 我感觉 go 语言用来写中间件,云原生基础设置,没很重业务逻辑的组件还好。要是来重新票务这些很重业务逻辑的东西,可能就得多招点人了 |
6 billlee 2020-12-03 21:17:07 +08:00 反正需要写的逻辑就在那里,语法简单了,就要写更多代码。我写复杂项目的时候还是喜欢用 C++, cala 之类的语言。 |
![]() | 7 sagaxu 2020-12-03 21:18:49 +08:00 via Android go 是给你写 infra 的,你非要拿去写 crud,肯定别扭 |
![]() | 8 no1xsyzy 2020-12-03 21:19:10 +08:00 @rimutuyuan brainf*ck…… |
![]() | 9 AmrtaShiva 2020-12-03 21:20:13 +08:00 via iPhone 语法简洁 自由 随性 |
10 namaketa 2020-12-03 21:59:19 +08:00 ![]() 我也感觉到了,这可能是语言本身的简洁,并不能掩盖现实世界逻辑的复杂。 所以好的生态,会有人根据实际的需求,提炼约定和框架,而 GO 还在生态建设阶段。 总之,也不是不能用,生态还在艰难建设中就很容易陷入啥都得自己来搭脚手架和不时踩两个坑的窘境。 |
11 littlewing 2020-12-03 22:26:44 +08:00 via iPhone go 就不是用来写业务的 |
![]() | 12 raaaaaar 2020-12-03 22:35:50 +08:00 via Android ![]() 我写了一年多了,感觉到要学的太多。只是 go 的语法特性很多都不会用,更别说那些硬性知识了,楼上说的对,难得从来都不是语法本身。 |
![]() | 13 Hanggi 2020-12-03 23:35:16 +08:00 jb 统计 go 语言开发者中,36% 在做网站开发,31% 在做各类中间件小型程序,26% 在做 infra 。 当然这个百分有重叠的部分。 |
![]() | 14 kidlj 2020-12-03 23:48:15 +08:00 via iPhone ![]() 又有人说 Go 不适合写业务,我倒看到 ent 的 issue 里有人问能不能把它移植到 Java 。 |
![]() | 15 no1xsyzy 2020-12-03 23:53:31 +08:00 ![]() 前段时间阮一峰推荐了一篇文章比较 rust 和 go 的,其实把 go 的优劣势讲得很清楚了 1. 标准库很强 2. 因此自己实现一个轮子很简单( trivial ) 3. 因此现成的别人分享的轮子很少,因为这个轮子放出来也太简单了,警惕 npm 一行代码一个包 前段时间不是有人问 Web 框架么,结果好几个推荐直接用标准库撸的…… |
16 xiangwan 2020-12-04 00:46:12 +08:00 via Android golang 语法简单,库也简单,所以开发起来比较麻烦,要什么没什么。 spring 要什么有什么,因为复杂,所以难。 难的层面不一样 |
17 smallX 2020-12-04 08:39:46 +08:00 简约而不简单。 没那么多套路,直接用起。 |
![]() | 18 Dogtler 2020-12-04 08:48:22 +08:00 via Android 面向 c 出身的应该简单,对其他语言或入门选这个有点困惑 |
19 user0 2020-12-04 09:12:12 +08:00 via Android 嵌入式 Linux 程序员学了一下 Go,感觉像找到了组织 |
20 vultr 2020-12-04 09:12:50 +08:00 |
21 |
22 Dganzh 2020-12-04 09:50:37 +08:00 ![]() 唉,go 写 crud 确实很恶心 |
![]() | 23 lwch 2020-12-04 09:56:33 +08:00 go 写 http 程序是真的爽几行代码就能处理 request 了,换做是 C++搭个框架一天过去了 |
24 fo0o7hU2tr6v6TCe 2020-12-04 10:03:03 +08:00 借坑,求一个练手的项目 感觉最近有关注到好几个语言,最后都是语法会了,不知道拿什么项目练手 当然除了 web 框架外哈,感觉 go 的 web 框架只是冰山一角,应该还有很多东西可以学,有点摸不着头脑 |
25 dadaoqueyi OP @lwch 确实,有些时候很方便,写些简单的命令行工具。 |
![]() | 26 zmqiang 2020-12-04 10:15:08 +08:00 go 简单但是有些时候开发起来烦,但我还挺喜欢的。我不喜欢 java 生态里,很多包封装连亲妈都不认识了。比如你引入 readis 的 client,你看 redis 的官网文档是没有什么用处,你的看 client 的文档才会用。永远都蒙着一层纱的感觉,换个 client 可能一切都要重来。 |
![]() | 27 jswh 2020-12-04 10:16:45 +08:00 多了不少库和语法糖的 C |
![]() | 28 geekzhu 2020-12-04 10:44:07 +08:00 只说写代码而言,这个时候就想到了 PHP 的好 |
![]() | 29 libook 2020-12-04 11:57:46 +08:00 Go 的简单在于一种功能往往只有一种实现方式,可以将更多的经历放在业务上,而不是思考各种实现方案上,团队中有技术很烂的人也不至于写出太烂的代码。所以目前看来是比较适合企业团队生产的。 Go 出来这么多年,初期几年人们大多都在喊口号,说 Go 怎么怎么好,但真正学了、用起来的很少,也就是最近三年才有越来越的的企业项目用起来。新语言肯定不如老语言资料和轮子那么多、全,这方面 Java 几乎是无敌的,毕竟沉淀了二十多年了。用新技术你就只能多看官方文档、多提问、多看源码。 具体遇到了什么问题可以发出来让大家帮忙解决,只是抱怨的话不会有任何积极意义。 话说回来,用了很多年 Node.js ,因为都是 JS 技术栈的,所以对接前端、对接 MongoDB 都很顺滑,性能多数情况下表现也不错。现在微服务大行其道,一个项目也不一定完全使用一种语言来开发。 Java 项目部署普遍比较麻烦,容器是解决这方面问题的一个有效方案(简直为 Java 栈量身打造)。 |
![]() | 30 JackyCDK 2020-12-04 14:08:35 +08:00 mongogodirver 确实难用,用 mgo 吧 |
![]() | 31 EKkoGG 2020-12-04 14:18:15 +08:00 你这种需求用 .net core 不是很好吗~ |
![]() | 32 TypeError 2020-12-04 14:19:12 +08:00 我倒是讨厌 Java 老的那一堆 什么 ee 、xml |
33 GrayXu 2020-12-04 14:33:16 +08:00 Go 的简单在于多线程开发的控制方便… |
![]() | 34 4771314 2020-12-04 14:38:08 +08:00 go 的库文档看起来很详细,但是有很多都没有细致的说明,很多的 interface,有时候感觉在看 js |
![]() | 35 songjiaxin2008 2020-12-04 14:42:58 +08:00 坚持,多写多练习,多看别人的代码怎么组织的,使用 2 年已经感觉渐入佳境。 |
![]() | 36 lwch 2020-12-04 14:54:55 +08:00 @dadaoqueyi 不仅仅是命令行工具,我司的整套推荐系统都是 go 的 |
![]() | 37 wellhome 2020-12-04 14:57:05 +08:00 @libook java 不是一个 jar 包 就搞定? 而且 jvm 本身就是虚拟机了, 为什么外面在套一层容器? 我一直百思不得其解。 |
![]() | 38 libook 2020-12-04 17:38:11 +08:00 @wellhome 看项目情况吧,能打成 1 个仅依赖 JRE 的 Jar 部署就很简单;但是如果因为某些需求不能打成一个 Jar,以及涉及到复杂的环境配置,部署难度就有可能比较高。 传统的运维架构能满足需求的话可以不用容器,如果希望使用云原生带来一些好处的话(比如时效和成本),就可能得用容器。 比如 Go 完全可以编译成一个可执行文件,但如果希望使用云原生的方案来满足集群访问控制、优雅升降级、容灾等需求就还是得套个容器,因为云原生设施管理服务的最小单位就是容器。 如果对容器没有需求的话,就没必要用。 |
39 hakono 2020-12-04 17:59:05 +08:00 via Android ![]() 路过吐槽下,ls 一堆人不看帖子就强答也是醉了 lz 吐槽的分明是 go 语言里一堆包不好好写文档,想完成一个功能查文档查到怀疑人生。功能用法写得不详细,该写的功能不写到文档里,文档里没多少有用信息,一些用法功能不去搜项目的 issue 你根本就不会知道 这个真是 go 语言很多包的一大问题,一批评就动不动说你不会去看源码? |
![]() | 40 index90 2020-12-04 19:32:52 +08:00 好的文档是昂贵的,Golang 生态和用户体量没法跟 Java 比,换你自己是 mongodb 的老板,你会在 golang 上投入跟 java 等量的资源吗? 而且 mongodb golang 的 driver 我也用过,没有你说的那么不堪,如果你能熟练看懂英文文档的话。 https://godoc.org/go.mongodb.org/mongo-driver/mongo 大部分方法都有 example |
![]() | 41 narmgalaxy 2020-12-04 21:09:48 +08:00 问我问我,我用 mongogodriver 好长时间了,基本的坑也踩过了 |
42 SignLeung 2020-12-04 23:59:18 +08:00 @narmgalaxy countDocument()这个方法怎么用才不会卡,用聚合实现 count,真的难受 |
43 FrankAdler 2020-12-05 00:05:50 +08:00 有些没文档,但是有写测试。。。也能从里面找到实例 |
![]() | 44 ijrou 2020-12-05 00:13:56 +08:00 不要一上来就问简不简单。。。。。 |
![]() | 45 lookenwu 2020-12-05 10:21:48 +08:00 如果你喜欢 C,你一定会喜欢 Go |
![]() | 46 narmgalaxy 2020-12-05 10:54:26 +08:00 @SignLeung 不清楚你说的卡是指什么.可以给个例子吗 |
![]() | 47 kevinwan 2020-12-05 12:35:23 +08:00 via iPhone 确实是很方便的,我们团队内部基于 go-zero 开发,基本上可以专注于业务代码开发,而无需关注服务治理和缓存等 |
50 snowhunter 2020-12-09 15:58:52 +08:00 数据库和语言选择也有一定的关系,mongo 还是适合配 node |