分享
  1. 首页
  2. 文章

golang 小结

ericjj · · 1112 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

最近使用 golang 把公司 node.js 项目 holoread 重写了一下, 大约花费三个工作日, 说说经验吧, 先说 golang 的优势,

  1. 容易部署, 二进制文件即可, 服务器上不需要装一堆环境,
  2. 全局依赖管理, 不像 npm 每个项目文件夹都有 node_modules, 导致电脑硬盘占用
  3. 强制 format 代码, 有利有弊
    ...

缺点都是别人吐槽过了

  1. time format 特别蛋疼, 特别特别蛋疼
  2. 高阶函数写起来很难看
  3. 依赖版本
  4. 泛型
  5. 文件夹做 package
    ...

来看下代码. main 函数, 非常简单

func main() {
 r := gin.New()
 db, store := database.Connect()
 r.Use(SetDB(db))
 r.Use(sessions.Sessions("holoread", store))
 r.Use(CORSMiddleware())
 r.Use(gin.Logger())
 r.Use(gin.Recovery())
 routers.Init(r)
 r.Run(":4000")
}

我记得刚学习 golang 时, 对 interface{} 很是困惑, 后面看了 go 并发编程实战, 终于明白了, 就是特么 void * 简直哭出来!

就内嵌 interface 来说, 还是不太优雅, 不能重载函数, 当然不能重载也是有利有弊, 免得程序太过复杂, 像 js 写着写着就很难控制了, 幸好我在项目中加了 eslint 导致一些语法问题能及时发现, 后面再处理大量数据时发现经常出现 v8 内存泄露, 蛋疼, 重构之后就没此类问题了

强类型啊强类型! 好好的 map filter 函数写的多难看

接下来应该会是 go 粉丝了, 顺便搞搞 rust, 最近区块链都在用


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:ericjj

查看原文:golang 小结

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
1112 次点击
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏