进入golang的开发已经差不多两年了,最近打算写个Golang的教程。目的是让有开发基础,没接触过Golang的人能够愉快高效地写出Golang项目。

1

记得17年底时候,有个特别小的项目,准备试试用Golang来写,哪段时间也不太忙,项目也比较小,还用Lua写了一遍作为兜底方案。其实对一个写过几年代码的人来说,查查Go的文档,写一个Go的项目并不是多难的事,使用Golang写这个项目并没有花费多大的事,应该在两周左右。当时是第一次写由于不知道一些公用第三方的库,有些功能上就显得非常费劲。比如,我想记日志,后来都是通过Golang写的文件,不知道有个特别好用并且高效的 uber-go/zap的日志库。测试环境调试的时候每次都是go build之后在运行build生成的二进制可执行文件,不知道有热加载工具 gin。放到生产环境之后,不知道有supervisor这样的进程管理软件监控 go的可执行文件。然后也不知道使用Nginx代理到 go程序的端口上,Redis连接数据库连接不知道使用连接池,等等。特别多的这种流程和软件使用上的问题,最终,这个项目使用兜底方案lua的版本。所以最近有了写个使用教程的打算,给新的写golang的童靴有个参考。

2

这个教程计划是不会花时间介绍Golang的语法和基础,市面上随便一个教程都有,搜索引擎也很容易查到。主要还是想介绍Golang开发所使用的工具,所依赖的软件,还有项目开发中所使用的第三方的类库。让刚进入golang开发的人知道有XXX软件使用解决什么问题,该怎么使用软件,怎么使用类库,怎么部署golang项目,提高开发效率。第三方好用的软件和类库的推荐和使用。主要是这个方向。

准备写个Golang开发的教程的更多相关文章

  1. 如何加速golang写业务的开发速度

    如何加速golang写业务的开发速度 不要忌讳panic golang写业务代码经常会被吐槽,写业务太慢了,其中最大的吐槽点就是,处理各种error太麻烦了.一个项目中,会有30%或者更多的是在处理e ...

  2. Windows下visual studio code搭建golang开发环境

    Windows下visual studio code搭建golang开发环境 序幕 其实环境搭建没什么难的,但是遇到一些问题,主要是有些网站资源访问不了(如:golang.org),导致一些包无法安装 ...

  3. Linux下配置Golang开发环境

    前几天无意间看到了微信推送的golang开发的消息,看到golang那么牛逼,突然心血来潮想学习一下go.工欲善其事必先利其器,想做go开发,必须先配置好go的开发环境(就像开发Java先安装配置jd ...

  4. 用golang开发系统软件的一些细节

    用golang开发系统软件的一些细节 作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 (本文的pdf版本) ...

  5. C#微信公众号开发系列教程二(新手接入指南)

    http://www.cnblogs.com/zskbll/p/4093954.html 此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可 ...

  6. 微信公众号开发系列教程一(调试环境部署续:vs远程调试)

    http://www.cnblogs.com/zskbll/p/4080328.html 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试 ...

  7. 专为设计师而写的GitHub快速入门教程

    专为设计师而写的GitHub快速入门教程 来源: 伯乐在线 作者:Kevin Li     原文出处: Kevin Li 在互联网行业工作的想必都多多少少听说过GitHub的大名,除了是最大的开源项目 ...

  8. C#微信公众号开发系列教程六(被动回复与上传下载多媒体文件)

    微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...

  9. C#微信公众号开发系列教程五(接收事件推送与消息排重)

    微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...

随机推荐

  1. ADO.NET五大对象增删改查使用

    string ConnStr = "Data Source=.;Initial Catalog=ADO_DEMO;Integrated Security=True"; #regio ...

  2. VS2017打包注册IE插件及修改IE安全选项设置【转】

    前言 最近项目需要在浏览器环境下读取员工身份证信息,要实现网页与硬件设备通信,考虑了几种实现方式: 1.借助ActiveX插件,通过程序库直接与设备通信. 优点:厂家提供了IE插件,开发简单 缺点:只 ...

  3. Jenkins入门【转】

    一.Jenkins概述 二.安装Jenkins https://pkg.jenkins.io/redhat-stable/ sudo wget -O /etc/yum.repos.d/jenkins. ...

  4. SHELL/VIM删除重复行(去重)text handle

    vim 删除重复行 - 国内版 Binghttps://cn.bing.com/search?FORM=U227DF&PC=U227&q=vim+%E5%88%A0%E9%99%A4% ...

  5. 【PHP】php7.2报错The each() function is deprecated. This message will be suppressed on furthe

    php7.2以上 废除了 each()方法,项目中用到的地方会出现以下报错 The each() function is deprecated. This message will be suppre ...

  6. aar api 导出

    import fsys; import math; var pidMap = {}; math.randomize(); fsys.enum( "~\lib", "*.* ...

  7. Qt编写气体安全管理系统24-地图管理

    一.前言 地图管理的主要功能是将系统中的地图文件做添加和删除,支持常见的jpg.png.bmp等格式图片,图片分辨率建议小于1080P,最好是和目标客户端电脑分辨率一致,这样在拉伸缩放的时候会比较清晰 ...

  8. python locust--Setups, Teardowns, on_start, and on_stop .

    创建一个locust测试脚本,如下: from locust import HttpLocust, TaskSet, task class UserBehavior(TaskSet): def set ...

  9. 一种计算hash的思路

    /*** * 转换请求hash,根据转换模式计算hash,防止重复发送请求,浪费服务器资源(内存.cpu.文件系统等) * @param mode * @param data * @return */ ...

  10. LeetCode_202. Happy Number

    202. Happy Number Easy Write an algorithm to determine if a number is "happy". A happy num ...