golang 真的简单嘛

2020-12-03 19:51:42 +08:00
 dadaoqueyi
看了几天的 golang 基础语法,发现确实容易上手。但是当我用 golang 跟 mongodb 进行稍微复杂一点的 CRUD 的时候,我感到了痛苦。

官方的库文档对一些的查询,映射都要很困难的一点点找,google 、百度都是些过时的文章,或者都是相同的复制粘贴官方的示例。golang 出来这么久了,为啥感觉一些周边资料这么缺乏 。

相反用 java,springboot 集成 mongodb,都很快的能够开发完成。
学习 golang 主要是自己的服务器 java 部署程序麻烦、吃内存。
8476 次点击
所在节点    Go 编程语言
52 条回复
vultr
2020-12-04 09:14:29 +08:00
搞错了,你用 mongodb,上一条发的用的是 mysql.
Dganzh
2020-12-04 09:50:37 +08:00
唉,go 写 crud 确实很恶心
lwch
2020-12-04 09:56:33 +08:00
go 写 http 程序是真的爽几行代码就能处理 request 了,换做是 C++搭个框架一天过去了
fo0o7hU2tr6v6TCe
2020-12-04 10:03:03 +08:00
借坑,求一个练手的项目
感觉最近有关注到好几个语言,最后都是语法会了,不知道拿什么项目练手

当然除了 web 框架外哈,感觉 go 的 web 框架只是冰山一角,应该还有很多东西可以学,有点摸不着头脑
dadaoqueyi
2020-12-04 10:10:48 +08:00
@lwch 确实,有些时候很方便,写些简单的命令行工具。
zmqiang
2020-12-04 10:15:08 +08:00
go 简单但是有些时候开发起来烦,但我还挺喜欢的。我不喜欢 java 生态里,很多包封装连亲妈都不认识了。比如你引入 readis 的 client,你看 redis 的官网文档是没有什么用处,你的看 client 的文档才会用。永远都蒙着一层纱的感觉,换个 client 可能一切都要重来。
jswh
2020-12-04 10:16:45 +08:00
多了不少库和语法糖的 C
geekzhu
2020-12-04 10:44:07 +08:00
只说写代码而言,这个时候就想到了 PHP 的好
libook
2020-12-04 11:57:46 +08:00
Go 的简单在于一种功能往往只有一种实现方式,可以将更多的经历放在业务上,而不是思考各种实现方案上,团队中有技术很烂的人也不至于写出太烂的代码。所以目前看来是比较适合企业团队生产的。

Go 出来这么多年,初期几年人们大多都在喊口号,说 Go 怎么怎么好,但真正学了、用起来的很少,也就是最近三年才有越来越的的企业项目用起来。新语言肯定不如老语言资料和轮子那么多、全,这方面 Java 几乎是无敌的,毕竟沉淀了二十多年了。用新技术你就只能多看官方文档、多提问、多看源码。

具体遇到了什么问题可以发出来让大家帮忙解决,只是抱怨的话不会有任何积极意义。

话说回来,用了很多年 Node.js ,因为都是 JS 技术栈的,所以对接前端、对接 MongoDB 都很顺滑,性能多数情况下表现也不错。现在微服务大行其道,一个项目也不一定完全使用一种语言来开发。

Java 项目部署普遍比较麻烦,容器是解决这方面问题的一个有效方案(简直为 Java 栈量身打造)。
JackyCDK
2020-12-04 14:08:35 +08:00
mongogodirver 确实难用,用 mgo 吧
EKkoGG
2020-12-04 14:18:15 +08:00
你这种需求用 .net core 不是很好吗~
TypeError
2020-12-04 14:19:12 +08:00
我倒是讨厌 Java 老的那一堆
什么 ee 、xml
GrayXu
2020-12-04 14:33:16 +08:00
Go 的简单在于多线程开发的控制方便…
4771314
2020-12-04 14:38:08 +08:00
go 的库文档看起来很详细,但是有很多都没有细致的说明,很多的 interface,有时候感觉在看 js
songjiaxin2008
2020-12-04 14:42:58 +08:00
坚持,多写多练习,多看别人的代码怎么组织的,使用 2 年已经感觉渐入佳境。
lwch
2020-12-04 14:54:55 +08:00
@dadaoqueyi 不仅仅是命令行工具,我司的整套推荐系统都是 go 的
wellhome
2020-12-04 14:57:05 +08:00
@libook java 不是一个 jar 包 就搞定?
而且 jvm 本身就是虚拟机了, 为什么外面在套一层容器? 我一直百思不得其解。
libook
2020-12-04 17:38:11 +08:00
@wellhome 看项目情况吧,能打成 1 个仅依赖 JRE 的 Jar 部署就很简单;但是如果因为某些需求不能打成一个 Jar,以及涉及到复杂的环境配置,部署难度就有可能比较高。
传统的运维架构能满足需求的话可以不用容器,如果希望使用云原生带来一些好处的话(比如时效和成本),就可能得用容器。

比如 Go 完全可以编译成一个可执行文件,但如果希望使用云原生的方案来满足集群访问控制、优雅升降级、容灾等需求就还是得套个容器,因为云原生设施管理服务的最小单位就是容器。

如果对容器没有需求的话,就没必要用。
hakono
2020-12-04 17:59:05 +08:00
路过吐槽下,ls 一堆人不看帖子就强答也是醉了

lz 吐槽的分明是 go 语言里一堆包不好好写文档,想完成一个功能查文档查到怀疑人生。功能用法写得不详细,该写的功能不写到文档里,文档里没多少有用信息,一些用法功能不去搜项目的 issue 你根本就不会知道

这个真是 go 语言很多包的一大问题,一批评就动不动说你不会去看源码?
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

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

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

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

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

© 2021 V2EX