golang panic及处理机制

一 panic机制   panic会将这个异常不断向上抛出,直到有地方处理它,如果有处理,则不会再向上抛出。倘若没有处理,那么最终会导致main挂掉.  golang虽然没有try catch机制,却有一种类似

OOOO 2年前 (Nov 25,2022)154
golang panic及处理机制

Golang并发操作中常见的读写锁详析

互斥锁简单粗暴,谁拿到谁操作。今天给大家介绍一下读写锁,读写锁比互斥锁略微复杂一些,不过我相信我们今天能够把他拿下! golang读写锁,其特征在于 读锁:可以同时进行多个协程读操作,不允许写操作 写锁:只

OOOO 2年前 (Nov 25,2022)115

golang 语言中错误处理机制

与其他主流语言如 Javascript、Java 和 Python 相比,Golang 的错误处理方式可能和这些你熟悉的语言有所不同。所以才有了这个想法根大家聊一聊 golang 的错误处理方式,以及实际开发中应该如何对

OOOO 2年前 (Nov 25,2022)140

Go 语言中的死锁问题解决

死锁 死锁的4个条件 不可剥夺 线程已经获得的资源,在未使用完之前,不能被其他线程剥夺,只能在使用完后自己释放。 请求保持 线程 T1 保持了一个资源 R1 占用,但是又提出另外一个资源

OOOO 2年前 (Nov 25,2022)157

Go 第三方库之类型转换问题

强类型语言有它的优势,但也有不便利的地方,最典型的就是类型转换。Golang 作为一门强类型语言,而且不支持隐式类型转换,因此这个问题更突出。虽然 Go 提供了不少方式进行类型转换,包括相关的标准库,比如 strconv

OOOO 2年前 (Nov 25,2022)174

Go中Channel发送和接收操作指南

前言 先来看一道面试题: 对已经关闭的 chan 进行读写,会怎么样?为什么? 在上一篇学习 Go 协程的文章中,知道 go 关键字可以用来开启一个 goroutine 进行任务处理,但多个任务之间如果需

OOOO 2年前 (Nov 25,2022)141

Go中的条件语句Switch示例详解

Switch简介 Go的switch的基本功能和C、Java类似: switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上至下逐一测试,直到匹配为止。 匹配项后面也不需要再加

OOOO 2年前 (Nov 25,2022)148

golang time常用方法详解

说明         在golang中,时间转换都会通过Time类型做一系列转换。主要包含,时间戳和时间字符串,时间字符串转换成另外的格式。总之所有的转换都是通过Time类型做中

OOOO 2年前 (Nov 25,2022)151

关于golang利用channel和goroutine完成统计素数的思路

1. 需求 要求统计1-200000的数字中,哪些是素数?这个问题在本章开篇就提出来了,可以使用goroutine和channel来完成 2.分析思路 传统的方法,就是使用一个循环,循环的判断各个数是不是素数【ok

OOOO 2年前 (Nov 25,2022)128
关于golang利用channel和goroutine完成统计素数的思路

Go应该如何实现二级缓存

一、需求 实现二级缓存 程序运行起来后提示:“请输入命令:”,如果输入getall,查询并显示所有人员的信息 第一次时查询mysql并将结果缓存在redis,设置60秒的过期时间 以后的每次查询,如果

OOOO 2年前 (Nov 25,2022)173

Go中使用加密算法的方法

哈希算法  md5 128bit,16字节 如:md5 (“hello world!”) = fc3ff98e8c6a0d3087d515c0473f8677 // 32位16进制数字

OOOO 2年前 (Nov 25,2022)154
Go中使用加密算法的方法

Golang中实现简单的Http Middleware

本文主要针对Golang的内置库 net/http 做了简单的扩展,通过添加中间件的形式实现了管道(Pipeline)模式,这样的好处是各模块之间是低耦合的,符合单一职责原则,可以很灵活的通过中间件的形式添加一些功能到管

OOOO 2年前 (Nov 25,2022)133
Golang中实现简单的Http Middleware

Go 协程超时控制的实现

Go 协程超时控制 Select 阻塞方式 Context 方式 先说个场景: 假设业务中 A 服务需要调用 服务B,要求设置 5s 超时,那么如何优雅实现? Select 超时控制 考虑是否可

OOOO 2年前 (Nov 25,2022)141

Go语言运算符案例讲解

算数运算符 算数运算符和C语言几乎一样 运算符 描述 实例 + 相加 A + B -

OOOO 2年前 (Nov 25,2022)169

Go语言指针使用分析与讲解

普通指针 和C语言一样, 允许用一个变量来存放其它变量的地址, 这种专门用于存储其它变量地址的变量, 我们称之为指针变量 和C语言一样, Go语言中的指针无论是什么类型占用内存都一样(32位4个字节, 64位

OOOO 2年前 (Nov 25,2022)139
Go语言指针使用分析与讲解