Go语言中通过Lua脚本操作Redis的方法

前言为了在我的一个基本库中降低与Redis的通讯成本,我将一系列操作封装到LUA脚本中,借助Redis提供的EVAL命令来简化操作。
EVAL能够提供的特性: 可以在LUA脚本中封装若干操作,...

Go语言 channel如何实现归并排序中的merge函数详解

前言初识go语言不到半年,我是一次偶然的机会认识了golang这门语言,看到他简洁的语法风格和强大的语言特性,瞬间有了学习他的兴趣最近学习 Go,但是苦于没有项目练手,于是便逼迫...

阿里云go开发环境搭建过程

开通了一个阿里云来玩,记录一下环境搭建的过程运行环境ECS Ubuntu 16.04 64位过程#切换到安装文件夹cd /usr/local#下载go#由于墙的原因,直接下载官方的可能会失败,这里用国内...

Go语言中你不知道的Interface详解

前言最近在看Go语言的面向对象的知识点时,发现它的面向对象能力全靠 interface 撑着,而且它的 interface 还与我们以前知道的 interface 完全不同。故而整个过程不断的思考为...

Go语言实现自动填写古诗词实例代码

前言“白日依山尽,___”。下句自然填黄河入海流,那么“日月忽其不淹兮,___,___,恐美人之迟暮”,中间两句怎么填呢?最近工作中有个需求,就是1500道语文诗词填空题没有答案,现在需要给...

Golang中文字符串截取函数实现原理

在golang中可以通过切片截取一个数组或字符串,但是当截取的字符串是中文时,可能会出现的问题是:由于中文一个字不只是由一个字节组成,所以直接通过切片可能会把一个中文字的编码...

Go实现短url项目的方法示例

首先说一下这种业务的应用场景:
1.把一个长url转换为一个短url网址
2.主要用于微博,二维码,等有字数限制的场景主要实现的功能分析:
1.把长url的地址转换为短url地址
2.通过短ur...

golang中struct和interface的基础使用教程

前言本文主要给大家介绍了关于golang中struct和interface的相关内容,是属于golang的基本知识,下面话不多说了,来一起看看详细的介绍吧。struct
struct 用来自定义复杂数据结构,...

如何编写Go语言中间件的实例教程

引言
web开发的背景下,“中间件”通常意思是“包装原始应用并添加一些额外的功能的应用的一部分”。这个概念似乎总是不被人理解,但是我认为中间件非常棒。
首先,一个好的中间...

Go语言中定时器cron的基本使用教程

cron是什么
cron的意思就是:计划任务,说白了就是定时任务。我和系统约个时间,你在几点几分几秒或者每隔几分钟跑一个任务(job),就那么简单。前言cron 是 robfig 开发的一个定时...

基于go+vue实现的golang每日新闻数据浏览与检索平台(推荐)

gonews是基于 go+vue 实现的golang每日新闻浏览与检索平台项目地址: Github线上Demo:GoNews数据来源: GoCN每日新闻项目截图部署获取新闻数据git clone https://github.com/goc...

浅谈golang的http cookie用法

在服务端程序开发的过程中,cookie经常被用于验证用户登录。golang 的 net/http 包中自带 http cookie的定义,下面就来讲一下cookie的一般用法以及需要注意的问题。http cookie...

golang实现基于channel的通用连接池详解

前言golang的channel除了goroutine通信之外还有很多其他的功能,本文将实现一种基于channel的通用连接池。下面话不多说了,来一起看看详细的介绍吧。功能* 连接池中连接类型为i...

详解Golang 中的并发限制与超时控制

前言上回在 用 Go 写一个轻量级的 ssh 批量操作工具 里提及过,我们做 Golang 并发的时候要对并发进行限制,对 goroutine 的执行要有超时控制。那会没有细说,这里展开讨论一下。...

go grpc安装使用教程

gRPC是由Google主导开发的RPC框架,使用HTTP/2协议并用ProtoBuf作为序列化工具。其客户端提供Objective-C、Java接口,服务器侧则有Java、Golang、C++等接口,从而为移动端(iOS/And...

6行代码快速解决golang TCP粘包问题

前言什么是TCP粘包问题以及为什么会产生TCP粘包,本文不加讨论。本文使用golang的bufio.Scanner来实现自定义协议解包。下面话不多说了,来一起看看详细的介绍吧。协议数据包定...

使用Go语言实现配置文件热加载功能

说到配置文件热加载,这个功能在很多框架中都提供了,如beego,实现的效果就是当你修改文件后,会把你修改后的配置重新加载到配置文件中,而不用重启程序,这个功能在日常中还是非常实...

利用GO语言实现多人聊天室实例教程

前言运用go里面的net包中的相关方法来实现一个基于tcp的简单多人聊天室,用一个服务器来管理,主要反馈客户端是否连接成功并显示客户端输入的内容,并且发送给每一个在服务器上连...

浅谈go-restful框架的使用和实现

REST(Representational State Transfer,表现层状态转化)是近几年使用较广泛的分布式结点间同步通信的实现方式。REST原则描述网络中client-server的一种交互形式,即用URL定位资...

Go如何实现HTTP请求限流示例

在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流!为了保证在业务高峰期,线上系统也能保证一定的弹性和稳定性,最有效的方案就是进行服务降级了,而限流就是降级系统...

vim配置go语言语法高亮问题的解决方法

操作系统 : CentOS7.3.1611_x64go 版本 : go1.8.3 linux/amd64vim版本 :version 7.4.160vim配置go语言语法高亮的问题已经遇到过好几次了,每次都去查找太麻烦,这里总结下。安装g...

go语言同步教程之条件变量

Go的标准库中有一个类型叫条件变量:sync.Cond。这种类型与互斥锁和读写锁不同,它不是开箱即用的,它需要与互斥锁组合使用:// NewCond returns a new Cond with Locker l.func Ne...

详解Go开发Struct转换成map两种方式比较

最近做Go开发的时候接触到了一个新的orm第三方框架gorose,在使用的过程中,发现没有类似beego进行直接对struct结构进行操作的方法,有部分API是通过map进行数据库相关操作,那么就...

Go语言中TCP/IP网络编程的深入讲解

前言大家可能乍一看,通过TCP/IP层连接两个进程会感觉可怕, 但是在Go语言中可能比你想象的要简单的多。下面话不多说了,来一起看看详细的介绍吧。TCP/IP层发送数据的应用场景
当...

详解golang RWMutex读写互斥锁源码分析

针对Golang 1.9的sync.RWMutex进行分析,与Golang 1.10基本一样除了将panic改为了throw之外其他的都一样。
RWMutex是读写互斥锁。锁可以由任意数量的读取器或单个写入器来保...

返回顶部
顶部