Golang 中的 unsafe.Pointer 和 uintptr详解

目录前言uintptrunsafe.Pointer使用姿势常规类型互转Pointer => uintptr指针算数计算:Pointer => uintptr => Pointerreflect 包中从 uintptr => Ptr实战案例string vs []byt...

Go语言快速入门指针Map使用示例教程

目录1. 指针1.1 指针地址和指针类型1.2 指针取值1.3 空指针1.4 new 的使用1.5 new与make的区别2. Map2.1 什么是Mapkey,value存储hash冲突hash冲突的常见解决方法开放定址(线...

golang NewRequest/gorequest实现http请求的示例代码

通过go语言实现http请求http.Postimport (    "net/http"    "net/url")data := url.Values{"start":{"100"}, "hobby":{"xxxx"}}body := strings.NewReader(data.Enc...

Golang 断言与闭包使用解析

目录1. Go断言的使用2. 闭包的解读2.1 指针传递2.2 延迟绑定2.3 Go Routine的延迟绑定1. Go断言的使用Go中的断言用于判断变量的类型,其使用形式如下所示:value, ok := x.(T)...

GO语言基本类型String和Slice,Map操作详解

目录本文大纲1、字符串StringString常用操作:获取长度和遍历字符串的strings包字符串的strconv包:2、切片Slice3、集合Map本文大纲本文继续学习GO语言基础知识点。1、字符串St...

go语言标准库fmt包的一键入门

目录⛳️ 实战场景Print 系列函数Fprint 函数Sprint 函数Errorf 函数⛳️ 格式化占位符通用部分整型相关浮点数与复数布尔型和指针⛳️ 标准输入fmt.Scanfmt.Scanffmt.ScanlnFscan...

Golang Mutex互斥锁深入理解

目录引言Mutex结构饥饿模式和正常模式正常模式饥饿模式状态的切换加锁和解锁加锁自旋计算锁的新状态更新锁状态解锁可能遇到的问题锁拷贝panic导致没有unlock引言Golang的并...

Golang语言实现gRPC的具体使用

目录gRPC 的特点使用 gRPC 定义服务端使用 gRPC 的客户端gRPC 是通信协议基于 HTTP/2,支持多语言的 RPC 框架,使用 Protobuf 作为它的接口设计语言(IDL),可以通过 protoc 工具生...

go日志库logrus的安装及快速使用

目录安装简介快速使用支持的日志级别日期打印调用位置添加字段给字段值加引号设置钩子设置channel输出日志安装简介Logrus是Go的结构化日志记录器,与标准的日志记录器库完全A...

Go编译原理之函数内联

目录前言函数内联概述函数内联底层实现visitBottomUpcaninlinlcalls前言在前一篇文章中分享了编译器优化的变量捕获部分,本文分享编译器优化的另一个内容—函数内联。函...

Golang基于JWT与Casbin身份验证授权实例详解

目录JWTHeaderPayloadSignatureJWT的优势JWT的使用场景CasbinCasbin可以做什么Casbin不可以做什么Casbin的工作原理实践登录接口请求Token实现使用Redis存储Token信息用Casb...

go Antlr重构脚本解释器实现示例

目录前言Antlr升级 xjson总结前言在上一个版本实现的脚本解释器 GScript 中实现了基本的四则运算以及 AST 的生成。当我准备再新增一个 % 取模的运算符时,会发现工作很繁琐而...

Go 语言 json解析框架与 gjson 详解

目录1. 快速使用2. Get() 返回的 Result 结构体3. 键路径4. json 数组遍历5. 其他前言:JSON 解析是我们不可避免的常见问题,在 Go 语言中,我们可以借助 gjson 库来方便的进行 j...

GO制作微信机器人的流程分析

目录0.回顾流程1.项目基础配置2. Redis封装3.消息体封装4.核心代码5.本地测试这些天在学习Go,也写了几篇关于阅读Gin后端项目代码的博客。但编程这种,一定要实际上手练习,要不...

Go语言文件开关及读写操作示例

目录⛳️ 实战场景打开关闭文件读取文件bufio 读取文件写文件⛳️ 实战场景本篇博客为大家再次带来 Go 语言的基础知识,这次要学习的内容是 Go 中的文件操作。打开关闭文件在 Go...

Go语言编译原理之变量捕获

目录前言变量捕获概述变量捕获底层实现总结前言在前边的几篇文章中已经基本分享完了编译器前端的一些工作,后边的几篇主要是关于编译器对抽象语法树进行分析和重构,然后完成一...

golang 执行命令行的实现

一般情况下,在 golang 中执行一些命令如 git clone,则可以使用 exec.Command 函数func RunCommand(path, name string, arg ...string) (msg string, err error) { cmd :=...

goland把go项目打包进docker镜像的全过程记录

目录1. goland配置Dockerfile2. goland构建项目3. Dockerfile执行总结1. goland配置Dockerfile项目中新建Dockerfile文件配置Dockerfile在项目中新建Dockerfile 文件,内容如...

go语言中的json与map相互转换实现

主要是引入 "encoding/json" 包;用到的也就是其中的两个函数json.Marshal和json.Unmarshal。1、json.Marshal#函数定义位于GOROOT or GOPATH的/src/encoding/json/encode.go...

Go和Java算法详析之分数到小数

目录分数到小数方法一:模拟竖式计算(Java)方法一:模拟竖式计算(Go)总结分数到小数给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以 字符串形式返回小数 。如果小...

Go中使用gjson来操作JSON数据的实现

目录获取值路径解析JSON 行Result Type64-bit integers读取嵌套数组对象或数组迭代简易的Parse和Get检查value是否存在验证JSON反序列化到map一次获取多个值项目地址:https:/...

详解Go语言中rand(随机数)包的使用

目录包"math/rand"随机数种子随机函数rand.Int()rand.Intn(n)实例其他随机函数按类型随机类指定随机范围类伪随机排列的切片生成标准正态分布生成标准指数分布包"math/rand"...

深入浅出Golang中select的实现原理

目录概述select实现原理执行流程case数据结构执行select循环总结概述在go语言中,select语句就是用来监听和channel有关的IO操作,当IO操作发生时,触发相应的case操作,有了select...

Go Excelize API源码阅读SetSheetViewOptions示例解析

目录一、Go-Excelize简介二、 SetSheetViewOptions一、Go-Excelize简介Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。...

一文详解Golang 定时任务库 gron 设计和原理

目录 cron 简介gron定时参数源码解析CronEntry按照时间排序新增定时任务启动和停止Schedule扩展性经典写法-控制退出结语 cron 简介在 Unix-like 操作系统中,有一个大家都很...

go常用指令之go mod详解

目录Go mod开启 Go Module设置Go Proxy初始化go mod下载依赖包go mod 获取指定包方式添加本地依赖包Go 指令编译golang程序运行golang程序查看版本查看环境变量获取包方式go...

Go语言设计模式之实现观察者模式解决代码臃肿

目录引言观察者模式概念我的理解Go 实现观察者模式Go 实现事件总线代码单测总结引言我们先来简单学习一下用 Go 实现观察者设计模式,给怎么实现事件驱动编程、事件源这些模式...

Go gorilla securecookie库的安装使用详解

目录简介快速使用使用 JSON自定义编解码Hash/Block 函数更换 Key总结简介cookie 是用于在 Web 客户端(一般是浏览器)和服务器之间传输少量数据的一种机制。由服务器生成,发送到...

玩转Go命令行工具Cobra

目录1 简介2 安装2.1 安装Cobra-cli脚手架工具2.2 在项目中下载Cobra依赖3 使用方式3.1 Hello World3.2 开发自己的Cli命令3.3 规则和扩展使用4 小总结不知大家有没有在使用...

Go逃逸分析示例详解

目录引言大纲逃逸分析内存管理栈堆堆和栈的对比加锁性能缓存策略逃逸分析优势逃逸分析原则逃逸分析举例1.参数是interface类型2. 变量在函数外部有引用3. 变量内存占用较大4...

Go Java算法之同构字符串示例详解

目录同构字符串方法一:哈希表(Java)方法一:哈希表(Go)同构字符串给定两个字符串 s 和 t ,判断它们是否是同构的。如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是...

go实现限流功能示例

目录引言需求背景web demo搭建限制访问次数编写功能测试总结引言在我们日常维护中,经常有爬虫进行爬取网页,少则1秒钟请求数十次,多则达百次,严重消耗了服务器带宽,且影响正常使...

golang中随机数rand的使用

目录1、math/rand2、crypto/rand1、math/rand随机数从资源生成。包水平的函数都使用的默认的公共资源。该资源会在程序每次运行时都产生确定的序列。如果需要每次运行产生不...

Golang执行cmd命令行的方法

1. Golang执行系统命令使用 os/exec Command方法:func Command(name string, arg ...string) *Cmd第一个参数是命令名称,后面参数可以有多个命令参数。cmd := exec.Command("l...

Go Java算法之二叉树的所有路径示例详解

目录二叉树的所有路径方法一:深度优先遍历搜索(Java)方法二:广度优先遍历(Go)二叉树的所有路径给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。叶子...

goland -sync/atomic原子操作小结

目录1.go已经提供了锁,为什么还需要atomic原子操作?2.atomic原子操作为什么比mutex快?3.CAS4.互斥锁与原子操作区别5.原子操作方法5.1 atomic.AddInt32--增减5.2 CAS-atomic.C...

golang中time包之时间间隔格式化和秒、毫秒、纳秒等时间戳格式输出的方法实例

目录获取当前时间的年、月、日、时、分、秒的方法如下:获取从1970到现在经过的时间的方法如下:时间间隔格式化输出方法:总结获取当前时间的年、月、日、时、分、秒的方法如下: /...

Golang标准库unsafe源码解读

目录引言unsafe包unsafe构成type ArbitraryType inttype Pointer *ArbitraryType灵活转换潜在的危险性✅ 正确的使用姿势❌ 错误的使用姿势func Sizeof(x ArbitraryType) ui...

go goth封装第三方认证库示例详解

目录简介快速使用更换 store总结简介当前很多网站直接采用第三方认证登录,例如支付宝/微信/ Github 等。goth封装了接入第三方认证的方法,并且内置实现了很多第三方认证的实现...

Golang Web 框架Iris安装部署

目录引言Iris 安装快速上手在Iris中使用RESTful风格的API静态站点部署引言Iris作为Golang中新兴的Web框架,比Gin晚了两年,于2016年开源,到目前为止已具备了较为完备的功能,参考I...

Go 语言前缀树实现敏感词检测

目录一、前言二、敏感词检测暴力匹配正则匹配三、Go 语言实现敏感词前缀树前缀树结构添加敏感词匹配敏感词过滤特殊字符添加拼音检测四、源代码一、前言大家都知道游戏文字...

Go Excelize API源码解析GetSheetFormatPr使用示例

目录一、Go-Excelize简介二、GetSheetFormatPr一、Go-Excelize简介Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以...

Golang中panic的异常处理

目录前言如何恢复panic造成的程序崩溃何时使用panic前言Golang中当程序发生致命异常时(比如数组下标越界,注意这里的异常并不是error),Golang程序会panic(运行时恐慌)。当程序发生...

GoLang之go build命令的具体使用

目录1.go build命令2.手动案例2.1新建文件2.2配置2.3go mod init2.4go get -u github.com/jinzhu/configor2.5go run index.go2.6go build2.7./testDemo.exe2.8删除textDmeo...

Go Ginrest实现一个RESTful接口

目录背景特性使用例子实现原理功能列表处理请求处理响应处理错误请求上下文操作请求结构体处理注背景基于现在微服务或者服务化的思想,我们大部分的业务逻辑处理函数都是长这...

GoLang基础学习之go test测试

目录1.介绍2.函数3.测试函数格式3.1格式3.2失败示例3.3成功示例13.4成功示例23.5成功示例33.6成功实例44.基准函数4.1成功实例14.2成功实例24.3性能比较函数总结 1.介绍Go语...

Go语言实现常用排序算法的示例代码

目录冒泡排序快速排序选择排序插入排序排序算法是在生活中随处可见,也是算法基础,因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题,可以说是每...

Go Java算法之Excel表列名称示例详解

目录Excel表列名称方法一:数学(Java)方法一:数学(Go)Excel表列名称给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。例如:A -> 1B -> 2C -> 3...Z -> 26AA -> 27AB...

Go gorilla/sessions库安装使用

目录简介快速使用cookie 存储记录登录状态第三方后端存储总结简介上一篇文章《Go 每日一库之 securecookie》中,我们介绍了 cookie。同时提到 cookie 有两个缺点,一是数据不宜...

Go 代码规范错误处理示例经验总结

目录引言一、相关联的声明放到一起1、导包规范2、常量、变量、类型声明二、Go错误处理1、失败的原因只有一个时,不使用 error2、没有失败时,不使用 error3、错误值统一定义三...

返回顶部
顶部