22-11-25 03:47:11
Go 第三方库之类型转换问题
强类型语言有它的优势,但也有不便利的地方,最典型的就是类型转换。Golang 作为一门强类型语言,而且不支持隐式类型转换,因此这个问题更突出。虽然 Go 提供了不少方式进行类型转换,包括相关的标准库,比如 strco... [阅读更多]
22-11-25 03:47:10
Go中Channel发送和接收操作指南
前言 先来看一道面试题: 对已经关闭的 chan 进行读写,会怎么样?为什么? 在上一篇学习 Go 协程的文章中,知道 go 关键字可以用来开启一个 goroutine 进行任务处理,但多个任务之间如... [阅读更多]
22-11-25 03:47:10
Go中的条件语句Switch示例详解
Switch简介 Go的switch的基本功能和C、Java类似: switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上至下逐一测试,直到匹配为止。 匹配项后面也不需要... [阅读更多]
22-11-25 03:47:09
golang time常用方法详解
说明 在golang中,时间转换都会通过Time类型做一系列转换。主要包含,时间戳和时间字符串,时间字符串转换成另外的格式。总之所有的转换都是通过Time类型... [阅读更多]
22-11-25 03:47:09
关于golang利用channel和goroutine完成统计素数的思路
1. 需求 要求统计1-200000的数字中,哪些是素数?这个问题在本章开篇就提出来了,可以使用goroutine和channel来完成 2.分析思路 传统的方法,就是使用一个循环,循环的判断各个数是不是素数【... [阅读更多]
22-11-25 03:47:08
Go应该如何实现二级缓存
一、需求 实现二级缓存 程序运行起来后提示:“请输入命令:”,如果输入getall,查询并显示所有人员的信息 第一次时查询mysql并将结果缓存在redis,设置60秒的过期时间 以后的每次查询,... [阅读更多]
22-11-25 03:47:08
Go中使用加密算法的方法
哈希算法 md5 128bit,16字节 如:md5 (“hello world!”) = fc3ff98e8c6a0d3087d515c0473f8677 // 32位16进制数字... [阅读更多]
22-11-25 03:47:07
Golang中实现简单的Http Middleware
本文主要针对Golang的内置库 net/http 做了简单的扩展,通过添加中间件的形式实现了管道(Pipeline)模式,这样的好处是各模块之间是低耦合的,符合单一职责原则,可以很灵活的通过中间件的形式添加一些功能... [阅读更多]
22-11-25 03:47:07
Go 协程超时控制的实现
Go 协程超时控制 Select 阻塞方式 Context 方式 先说个场景: 假设业务中 A 服务需要调用 服务B,要求设置 5s 超时,那么如何优雅实现? Select 超时控制 考虑是... [阅读更多]
22-11-25 03:47:06
Go语言运算符案例讲解
算数运算符 算数运算符和C语言几乎一样 运算符 描述 实例 + 相加 A + B -... [阅读更多]
22-11-25 03:47:05
Go语言指针使用分析与讲解
普通指针 和C语言一样, 允许用一个变量来存放其它变量的地址, 这种专门用于存储其它变量地址的变量, 我们称之为指针变量 和C语言一样, Go语言中的指针无论是什么类型占用内存都一样(32位4个字节, 6... [阅读更多]
22-11-25 03:47:05
Go语言异常处理案例解析
异常处理 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常 golang中提供了两种处理异常的方式 一种是程序发生异常时, 将异常信息反馈给使用者... [阅读更多]
22-11-25 03:47:04
golang中tar压缩和解压文件详情
查看官方文档,官方自带的演示: // 官方演示package main import ( "archive/tar" "bytes" "fmt" "io"... [阅读更多]
22-11-25 03:47:03
聊聊Golang的语言结构和变量问题
一、语言结构和注意事项 package main // 声明 main 包,表明当前是一个可执行程序import "fmt" // 导入内置的fmt包func main(){ // mai... [阅读更多]
22-11-25 03:47:03
Go并发编程之sync.Once使用实例详解
一.序 单从库名大概就能猜出其作用。sync.Once使用起来很简单, 下面是一个简单的使用案例 package main import ( "fmt" "sync") func... [阅读更多]