随笔·GO语言技术探索

目录

一、Go简介

 二、Go框架

三、个人感悟


一、Go简介

go语言是由google发布的开源编程语言,有个好爹。

特点:

  1. 静态编译,会生成机器码,支持类似plan9汇编;
  2. 没有虚拟机
  3. 可以制作动态链接库,供Go或C程序使用;
  4. 可以调用C语言生成的动态链接库;
  5. 天然具有并发性(协程支持);
  6. 协程间通信,通常使用channel;
  7. 具有丰富的网络、数据库等方便服务器开发的标准库;

典型应用:

  1. 微服务、容器、服务器

 二、Go框架

      初步探索Go程序开发,作为一种比较新型的语言,在框架方面还没具有较好的生态,所出的一些框架发布版本较低(例:v0.x 1.x)。今天(2020年5月31日)初步研读了几个框架的官方文档和网友分享文章,给大家分享一下:

WEB框架:

       Beego框架是国人开发的比较早出来的一款web框架,具有几个成熟的模块可用(orm模块的评价褒贬不一),研读了几篇分析文档,我认为比较客观的评价是,这款框架很适合小白入门学习,快速体验成果,也很适合一部分专注业务的研发项目,beego能够提供较为成熟的基础架构,从而降低人员要求,专注业务开发。但是,更多人认为beego过于庞大复杂,不符合go语言的发展生态,对应专业的程序员来说,更喜欢go的定制开发和轻量级框架的使用,例如需要orm就是用gorm、xorm框架,需要其他现成模块再集成其他框架。这样做到灵活开发和轻量级(代码量少)的合理平衡。

       Gin框架,专注于解决web框架方案,比Beego要轻量的多,更受专业程序员喜欢。

ORM框架:

       同样研读了几篇文章和官方文档,目前gorm、xorm应用广泛,gorm文档更加全面一些,我阅读后也感觉比较舒服,所以也更喜欢gorm这个持久化框架。

三、个人感悟

      综合分析,个人感觉Go语言具有开发快、代码量少、更贴近底层、运行简单等特点。它更适合API应用开发、网络应用开发,如果开发web应用,使用前后端分离技术更为合适,可是与vue、angular合理搭配,发给各自优势。在项目架构方面,个人认为Go的项目目前不建议使用过于臃肿的框架(小白学习除外),而应该根据具体问题寻找对应的解决方案,从而保持它“轻巧、简单、易于维护”的特点。

上一篇:gorm 连接mysql


下一篇:GORM入门指南