零:背景 这是我工作中实际碰到的后端生成图片拼接和文字贴图需求。特此总结下来,方便后人。文中代码都是我们生产环境使用的。 一:图片拼接 go标准库的image包本身就能实现拼接,因此还是比较简单的 直接上代码 1.1 图…
分类:Go
从 golang flag 迁移到 cmdr
基于 cmdr v1.0.3 从 golang flag 迁移到 cmdr 采用一个新的命令行解释器框架,最痛苦地莫过于编写数据结构或者流式定义了。我们首先回顾一下 cmdr 和其它大多数三方增强命令行解释器都支持的最典…
Go 爬虫之 HTTP 请求 QuickStart
前几天在 “知乎想法” 谈到了一个话题,如何模仿学习,举了通过 net/http client 模仿 Pyhton 的requests的例子。但并未实践,难道想法真的只能是想法吗?当然不是,于是我…
GO TESTING;HOW,WHAT,WHY
Introduction 关于 Go 测试,我们应该知道测试方式(或者说测试手段)、测试对象及测试原因。 How 测试方式 测试实现 举个例子。针对字符串分割函数(如下),实现单元测试。 package goTest i…
golang json 编码 map 与struct 结构的对比
本文对比试验采用官方包做json map 和struct 编码。 原文连接:http://blog.lpflpf.cn/passage… 数据构造 map 数据类型为map[string]string , k…
go - bufio 缓冲读写详解级实例
go在提供了io包的同时也提供了bufio包来实现有缓存的读写操作以提高读写性能。为什么bufio性能比io高呢? 缓冲读写 缓冲读 // 默认缓冲区大小 const ( defaultBufSize = 4096 ) …
[golang] 使用mysql及redis实现简单的分布式锁
源码来自https://github.com/study-only/go-locks Redis分布式锁 Redis SET 命令 从Redis 2.6.12版本开始,SET命令的行为可以通过一系列参数来修改,详见Red…
go redigo执行lua脚本 实现原子操作
Lua Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua可以在很多地方使用比如游戏开发、独立应用脚本、Web应用脚本、…
Go interface 接口的概念及实例
golang的interface并不像其他高级语言在类定义时添加限定作用,而是通过向上转型的方式,在业务代码的上下文中判断结构体(类)是否实现了接口里声明的方法。 type interfact Person { SetN…
PHP转Go系列:数组与切片
数组的定义 用过PHP的同学应该很清楚,无论多么复杂的数据格式都可以用数组来表达,什么类型的数据都可以往里塞,它是工作必备的一部分,使用很简单,易用程度简直变态。 $array = [1, 'name', ['sex' …
Lite语言——从入门到放弃(三)
Github 这次我们来看看异常处理和异步处理,顺带 Lambda 语法。 异常处理 Lite 沿用了现代面向对象语言的 try catch 机制,不同的是使用 ! 来表达语法,不需要 try、catch、finally…
Go package(1) time 用法
Go package(1) time 用法 golang使用的版本: go version go1.10.3 一:功能介绍 time的一些功能,比如时区,像linux中的定时器,时间计算等 格式化时间 时区(Locati…