V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
xiaottt
V2EX  ›  程序员

关于 go 语言选型的问题

  •  
  •   xiaottt · Jul 27, 2018 · 6058 views
    This topic created in 2831 days ago, the information mentioned may be changed or developed.

    大家好。
    公司可能部分业务要慢慢用 go 来搞了,之前 C++攒了好多库和自己的轮子,用久了也挺可靠的,但是 go 一点也不熟悉。虽然说语法简单,上手容易,但是大量的第三方库也不知道该如何选型。
    请熟悉的大佬推荐一下,少踩点雷。

    谢谢。

    Http(除了 go 自带,有没有更好的)
    RPC
    MQ(比如 RabbitMQ)
    MySQL
    Redis
    log
    Json XML
    SSL

    21 replies    2018-07-28 16:27:25 +08:00
    reus
        2
    reus  
       Jul 27, 2018
    https://godoc.org/

    选搜出来的第一个
    Narcissu5
        3
    Narcissu5  
       Jul 27, 2018   ❤️ 4
    我就想知道为什么这么多公司对 go 一无所知还敢转过去,因为流行么
    saberpowermo
        4
    saberpowermo  
       Jul 27, 2018 via Android
    @Narcissu5 赞同。。。
    fatedier
        5
    fatedier  
       Jul 27, 2018
    @Narcissu5 必然是因为有一些吸引人的特性,期望换成 Go 后在某些方面能有改善,流行的话为什么不选 java。
    nullen
        6
    nullen  
       Jul 27, 2018
    第三方库的选型策略:去找知名的 Go 项目,看看里面引用的是什么类库。
    gowk
        7
    gowk  
       Jul 27, 2018   ❤️ 2
    能不用 orm 就不用 orm,避免不必要的复杂性
    sqlx 加一个 sql builder 足矣,可以考虑滴滴的 gendry,或者自己造轮子
    http 随大流选择 gin 吧
    log 可以考虑 uber 的 zap
    rpc 选择标准的 grpc 吧
    Narcissu5
        8
    Narcissu5  
       Jul 27, 2018
    @fatedier
    第一:java 不潮,干久了才发现编程也是个赶流行的行业,比如 jquery 在很多需求面前仍然是最好的工具,但这年头你都不好意思说自己前端是用 jquery 写的
    第二:java 积累了这么多年,每个三五年升不到高级开发,go 一两年就可以了,毕竟新语言,没有那么多老鸟压在头上
    gowk
        9
    gowk  
       Jul 27, 2018
    @Narcissu5 我想是因为 Go 简单,代码已读,熟悉 Java 或其语言的可以快速上手,但你可能要问直接用 Java 就好了,干嘛要换 Go,Java 刚出来的时候别人也是这么想的。软件行业在发展,编程语言也在发展,总会出来新的东西来替换旧的东西,这就是历史发展的自然规律
    askfilm
        10
    askfilm  
       Jul 27, 2018
    @Narcissu5 我也赞同, 我认为应该用最稳定,最熟悉的东西, 尤其对工作上的开发, 这是一种负责。 再说了新东西不一定是好东西, 会过多消耗公司资源, 自己和团队的精力! 尤其可以拖慢公司的业务速度, 是中小公司大忌!
    askfilm
        11
    askfilm  
       Jul 27, 2018
    大公司就喜欢搞出来一些新玩意,来折腾中小公司, 玩腻了就扔了 (个人观点)
    fuxiaohei
        12
    fuxiaohei  
       Jul 27, 2018
    既然是慢慢用 go 搞,可以从边缘业务、小工具层面做起,体验一下各种库好了。少踩雷是想得美。
    rrfeng
        13
    rrfeng  
       Jul 27, 2018 via Android
    楼上几位说的都对
    但我认为本质的问题是,楼主提出来的这个问题本应该自己通过搜索、分析、源码阅读等判断得到结论。如果只想到来问,那么一定转型不顺利。
    owenliang
        14
    owenliang  
       Jul 27, 2018
    尽量不用第三方库,如果用非得用就用吧,我是没碰过什么问题。
    notreami
        15
    notreami  
       Jul 27, 2018
    @gowk 这个布道,是在太低劣了。rust 比 go 新,要不把 go 扔了吧。软件行业在发展,编程语言也在发展,总会出来新的东西来替换旧的东西,这就是历史发展的自然规律
    mengzhuo
        16
    mengzhuo  
       Jul 27, 2018
    >> 之前 C++攒了好多库和自己的轮子

    难道是我厂……
    prondtoo
        17
    prondtoo  
       Jul 27, 2018
    https://gokit.io/
    微服务全家桶啊,再上 K8S 部署。
    y835L9DyC5XD09kq
        18
    y835L9DyC5XD09kq  
       Jul 27, 2018
    github 上有个叫 awesome-go 的项目,推荐看下
    zhangtao
        19
    zhangtao  
       Jul 27, 2018
    @gowk 握个抓,跟我的选型基本一致
    tianzx
        20
    tianzx  
    PRO
       Jul 27, 2018 via Android
    mark
    tt67wq
        21
    tt67wq  
       Jul 28, 2018
    我司的 webframework 用的 beego,感觉轻重比较适中,其他的没用过
    orm 是主程自己撸的。。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5932 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 69ms · UTC 03:12 · PVG 11:12 · LAX 20:12 · JFK 23:12
    ♥ Do have faith in what you're doing.