Go语言net包RPC远程调用三种方式http与json-rpc及tcp
目录一、服务端二、http客户端三、TCP客户端四、json客户端五、运行结果rpc有多种调用方式,http、json-rpc、tcp一、服务端在代码中,启动了三个服务package mainimport ( "log...
目录一、服务端二、http客户端三、TCP客户端四、json客户端五、运行结果rpc有多种调用方式,http、json-rpc、tcp一、服务端在代码中,启动了三个服务package mainimport ( "log...
目录golang用于创建和发送电子邮件的库golang处理日期和时间的库数据库迁移Go语言实现的数据库golang通用数据结构及算法golang用于进行配置解析的库golang认证和授权库gola...
目录一. 闭包概述二. 代码演示运行结果代码说明一. 闭包概述 闭包就是解决局部变量不能被外部访问的一种解决方案 闭包是把函数当作返回值的一种应用二. 代码演示总体...
目录01 介绍02 转换为字符串类型03 总结01 介绍在 Golang 语言项目开发中,因为 Golang 语言是强类型,所以经常会使用到类型转换。本文我们介绍类型转换三方库 - github.com/sp...
golang sort package: https://studygolang.com/articles/3360sort 操作的对象通常是一个 slice,需要满足三个基本的接口,并且能够使用整数来索引// A type, typically a coll...
目录下载golint打开setting对话框设置一个快捷键下载golint下载golang 的 lint,下载地址:https://github.com/golang/lintmkdir -p $GOPATH/src/golang.org/x/cd $GOPATH/src/...
目录Go依赖管理工具环境要求目前版本安装验证初始化默认初始化优先从$GOPATH初始化Gopkg.tomlGopkg.lock常用命令dep ensuredep ensure -adddep ensure -updateGo依赖管理工...
总结:import "math/bits"const ( MaxUint uint = (1 << bits.UintSize) - 1 MaxInt int = (1 << bits.UintSize) / 2 - 1 MinInt int = (1 << bits.UintSize) / -2)...
1. 并发安全package main import ( "fmt" "sync") var ( sum int wg sync.WaitGroup) func test() { for i := 0; i < 5000000; i++ { sum += 1 }...
学完了net/http和fasthttp两个HTTP协议接口的客户端实现,接下来就要开始Server的开发,不学不知道一学吓一跳,居然这两个库还支持Server的开发,太方便了。相比于...
最近在学习Golang语言,中间遇到一个前辈指点,有一个学习原则:Learning By Doing。跟我之前学习Java的经验高度契合。在前一段时间学习洼坑中挣扎了好几天,差点就忘记这个重要的...
目录死锁
如何避免死锁死锁代码
死锁
死锁的4个条件 不可剥夺线程已经获得的资源,在未使用完之前,不能被其他线程剥夺,只能在使用完后自己释放。 请求保持线程 T1 保持了...
昨日有读者对定时器的终止有疑问,今天我们来聊一聊定时器的终止与重置吧!
定时器是一种通过设置一项任务,在未来的某个时刻执行该任务的机制。定时器的种类通常只有两种,一种是...
目录前言用户自定义类型
上下文数据
原因(Causes)
组件(Component)
响应类型(ResponseType)
重试
GoError 接口
抽象error
结论
前言Go语言很强大并且现在也十分流行 — 许...
官方实现golang 1.8 及以上版本提供了一个创建共享库(shared object)的新工具,称为 Plugins。目前 Plugins 仅在 Linux、FreeBSD 和 macOS 上受支持,且只支持 golang 调用。R...
目录Go 协程超时控制Select 超时控制
go timer 计时器
go context
Go 协程超时控制 Select 阻塞方式 Context 方式先说个场景:假设业务中 A 服务需要调用 服务B,要求设...
Switch简介Go的switch的基本功能和C、Java类似: switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上至下逐一测试,直到匹配为止。 匹配项后面也不...
目录第一种情形:无缓存能力的管道,自己写完自己读
第二种情形:协程来晚了
第三种情形:管道读写时,相互要求对方先读/写
第四种情形:读写锁相互阻塞,形成隐形死锁
什么是死锁,在Go的...
HLS 是 HTTP Live Streaming 的缩写,是苹果开发的一种基于 HTTP 的自适应比特率流媒体传输协议, 并于 2009 年. HLS 流媒体已经成为应用最广泛的实时视频协议。它是一种将流...
目录一、什么是连接池,连接池有什么用
二、代码展示
一、什么是连接池,连接池有什么用
先看看别人是怎么介绍连接池的吧:连接池基本的思想是在系统初始化的时候,将数据库连接作...
互斥锁简单粗暴,谁拿到谁操作。今天给大家介绍一下读写锁,读写锁比互斥锁略微复杂一些,不过我相信我们今天能够把他拿下!golang读写锁,其特征在于 读锁:可以同时进行多个协程...
目录〇、介绍驱动包和增强版Mysql操作库Sqlx一、先导入驱动包和增强版Mysql操作库Sqlx
二、insert操作
三、delete操作
四、update操作
五、select操作
〇、介绍驱动包和增...
目录一、需求二、实现连接Mysql并执行查询语句
三、写一个错误处理函数
四、设置二级缓存
一、需求 实现二级缓存 程序运行起来后提示:“请输入命令:”,如果输入getall,查...
目录前言一、Channel的定义
二、Channel的操作
三、Channel发送和接收操作的特点
四、Channel的类型
五、Channel的源码学习
总结前言先来看一道面试题:对已经关闭的 chan 进...
Golang 常用的 strings 函数 函数 简介 len(str) 1. 统计字符串长度,按字节 len(str) 2. 字符串遍历,处理中文 r:=[]rune(str) 3. 字...