网站首页 返回列表 “慢生活”不是懒惰,放慢速度不是拖延时间,而是让我们在生活中寻找到平衡。
Golang学习-第三篇 认识Web框架
序言作为一个Web开发人员,相信对框架并不陌生。那么什么是Web框架呢?我们学习的语言中有哪些框架呢?带着这两个疑问,来走进我们今天要写的内容。>_[Golang学习-第一篇>Golang的简单介绍及Windows环境下安装、部署](https://www.jianshu.com/p/c08531678dac)>_正文...
阅读全文
Golang学习-第二篇 搭建一个简单的Go Web服务器
序言由于本人一直从事Web服务器端的程序开发,所以在学习Golang也想从Web这里开始学起,如果对Golang还不太清楚怎么搭建环境的朋友们可以参考我的上一篇文章,这一篇我们来了解一下Golang的Web开发入门:搭建一个简单的GoWeb服务器。>_注:此文借鉴了Astaxie《GoWeb编程》一书中的内容_***正...
阅读全文
Golang中Interface类型详解
本文章翻译自《Let'slearnGo》的“Interfaces:theawesomesauceofGo”一节,原文地址:[http://go-book.appspot.com/interfaces.html](https://link.jianshu.com?t=http://go-book.appspot.com/...
阅读全文
golang 标准库间依赖的可视化展示
简介预览国庆看完>,总想做点什么,来加深下印象.以可视化的方式展示golang标准库之间的依赖,可能是一个比较好的切入点.做之前,简单搜了下相关的内容,网上也要讨论,但是没有发现直接能拿过来用的.标准库之间,是必然存在依赖关系的,不同库被依赖的程度必然是不一样的.但究竟有多大差别呢?以下内容,数据源自真实环境的gola...
阅读全文
使用Golang的官方mock工具--gomock
4C7AD81C-DECF-4C23-802B-9F02EFF42C48.jpg在Golang的官方Repo()中有一个单独的工程叫"mock"(),虽然star不是特别多,但它却是Golang官方放出来的mock工具,充这这点我们也需要使用下,虽然并不是官方的就是最好(比如比标准库http更快的fasthttp)。不...
阅读全文
Golang 序列化之 ProtoBuf
**ProtoBuf:**是一套完整的IDL(接口描述语言),出自Google,基于C++进行的实现,开发人员可以根据ProtoBuf的语言规范生成多种编程语言(Golang、Python、Java等)的接口代码,本篇只讲述Golang的基础操作。据说ProtoBuf所生成的二进制文件在存储效率上比XML高3~10倍,...
阅读全文
Golang RPC 之 gRPC
gRPC简介:>gRPC是一款高性能、开源的RPC框架,产自Google,基于ProtoBuf>序列化协议进行开发,支持多种语言(Golang、Python、Java等),本篇只介绍Golang的gRPC使用。因为gRPC对>HTTP/2协议的支持使其在Android、IOS等客户端后端服务的开发领域具有良好的前景。g...
阅读全文
Golang构建HTTP服务(一)--- net/http库源码笔记
实现一个最简单`HTTPserver`需要多少代码?只需要一行,Python2的`python-mSimpleHTTPServer`,ruby的`ruby-run-ehttpd.-p8888`。对于Golang,实现一个最简单的httpserver也用不着几行,却能带来更具杀伤力的性能。一个Go最简单的http服务器:...
阅读全文
Golang 微框架 Gin 简介
所谓框架框架一直是敏捷开发中的利器,能让开发者很快的上手并做出应用,甚至有的时候,脱离了框架,一些开发者都不会写程序了。成长总不会一蹴而就,从写出程序获取成就感,再到精通框架,快速构造应用,当这些方面都得心应手的时候,可以尝试改造一些框架,或是自己创造一个。曾经我以为Python世界里的框架已经够多了,后来发现相比go...
阅读全文
Golang初学者易犯的三种错误
序言笔者学习并使用Golang已经有一个多月了,尽管Golang的特性少、语法简单且功能强大,但作为初学者,难免会犯一些大家都犯过的错误。笔者在实践的基础上,将初学者易犯的错误进行了简单梳理,暂时总结了三种错误,先分享给大家,希望对大家有一定的帮助。资源关闭这里的资源包括文件、数据库连接和Socket连接等,我们以文件...
阅读全文
Golang精编100题
能力模型级别|模型---|---初级primary|熟悉基本语法,能够看懂代码的意图;在他人指导下能够完成用户故事的开发,编写的代码符合CleanCode规范;中级intermediate|能够独立完成用户故事的开发和测试;能够嗅出代码的坏味道,并知道如何重构达成目标;高级senior|能够开发出高质量高性能的代码;能...
阅读全文
Golang处理JSON(一)--- 编码
JSONhttp的交互的生命周期包含请求和响应。前面我们介绍了很多关于发起请求,处理请求的内容。现在该聊一聊返回响应内容了。对于web服务的响应,以前常见的响应是返回服务端渲染的模板。浏览器只要展示模板即可。随着Restful风格的api出现,已经前后端分离,更多的返回格式是json字串。本节我们将讨论在golang中...
阅读全文
Golang Mysql笔记(三)--- Prepared剖析
**prepare**前面我们已经学习了sql的基本curd操作。总体而言,有两类操作Query和Exec。前者返回数据库记录,后者返回数据库影响或插入相关的结果。上面两种操作,多数是针对单次操作的查询。如果需要批量插入一堆数据,就可以使用Prepared语句。golang处理prepared语句有其独特的行为,了解其...
阅读全文
Golang Mysql笔记(四)--- 事务
Transaction事务事务处理是数据的重要特性。尤其是对于一些支付系统,事务保证性对业务逻辑会有重要影响。golang的mysql驱动也封装好了事务相关的操作。我们已经学习了db的Query和Exec方法处理查询和修改数据库。tx对象一般查询使用的是db对象的方法,事务则是使用另外一个对象。sql.Tx对象。使用d...
阅读全文
Golang Mysql笔记(二)--- CURD基础
数据库查询我们了解了数据库连接与连接池。拿到了连接当然就是为了跟数据库交互。对于数据库交互,无怪乎两类操作,读和写。其中怎么读,怎么写,读和写的过程糅合一起就会遇到复杂的事务。本篇内容主要关注数据库的读写操作,后面再涉及事务的介绍。读取数据database/sql提供了Query和QueryRow方法进行查询数据库。对...
阅读全文