原理
已收录文章:27篇
-
1. select的使用 select 是 Go 提供的 IO 多路复用机制,可以用多个 case 同时监听多个 channl 的读写状态: case: 可以监听 channl 的读写信号default:声明默认操作,有该字段的 select 不会阻塞 select { case498 收藏
-
引言 基于net包的小应用 完整代码已经上传到github GitHub-TCP 欢迎star和issue TCP介绍 特点 面向连接的运输层协议。在应用程序在使用TCP协议之前,必须先建立TCP连接。在传送数据完毕后,必须释488 收藏
-
正文 熔断机制(Circuit Breaker)指的是在股票市场的交易时间中,当价格的波动幅度达到某一个限定的目标(熔断点)时,对其暂停交易一段时间的机制。此机制如同保险丝在电流过大时候熔断442 收藏
-
Mutex 是一个结构体,对外提供 Lock()和Unlock()两个方法,分别用来加锁和解锁。 // A Locker represents an object that can be locked and unlocked. type Locker interface { Lock() Unlock() } type Mutex struct {439 收藏
-
Go 语言中有一个非常有用的保留字 defer,它可以调用一个函数,该函数的执行被推迟到包裹它的函数返回时执行。 defer 语句调用的函数,要么是因为包裹它的函数执行了 return 语句,到达了函数422 收藏
-
go-micro是一个知名的golang微服务框架,最新版本是v4,这篇文章将介绍go-micro v4开发RPC服务的方法及其运作原理。 基本概念 go-micro有几个重要的概念,后边开发RPC服务和介绍其运行原理的时候会420 收藏
-
作为一种定期清理无效数据的重要机制,主键失效存在于大多数缓存系统中,Redis 也不例外。在 Redis 提供的诸多命令中,EXPIRE、EXPIREAT、PEXPIRE、PEXPIREAT 以及 SETEX 和 PSETEX 均可以用来设置一条 Key384 收藏
-
1. 什么是闭包? 一个函数内引用了外部的局部变量,这种现象,就称之为闭包。 例如下面的这段代码中,adder 函数返回了一个匿名函数,而该匿名函数中引用了 adder 函数中的局部变量 sum ,376 收藏
-
作者:蒋乐兴MySQL DBA,擅长 python 和 SQL,目前维护着 github 的两个开源项目:mysqltools 、dbmc 以及独立博客:https://www.sqlpy.com。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得367 收藏
-
0. 前序 slice,map,channl是我们Go语言中最最常用的几个数据结构,对于这些做到知根知底,对于我们建立知识体系以及优化代码都有着很重要的意义,所以本文,我们深入这三个数据结构的底层,366 收藏
-
1 深分页问题 1.1 创建表 CREATE TABLE `player` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `player_id` varchar(256) NOT NULL COMMENT '运动员编号', `player_name` varchar(256) NOT NULL COMMENT '运动员名称', `height`355 收藏
-
功能 举个例子看下channel的使用效果: package main import ( "fmt" "math/rand" "time" ) func write(c chan int) { for { num := rand.Intn(100) c342 收藏