Golang 中的 unsafe.Pointer 和 uintptr详解
目录前言uintptrunsafe.Pointer使用姿势常规类型互转Pointer => uintptr指针算数计算:Pointer => uintptr => Pointerreflect 包中从 uintptr => Ptr实战案例string vs []byt...
目录前言uintptrunsafe.Pointer使用姿势常规类型互转Pointer => uintptr指针算数计算:Pointer => uintptr => Pointerreflect 包中从 uintptr => Ptr实战案例string vs []byt...
目录1. 指针1.1 指针地址和指针类型1.2 指针取值1.3 空指针1.4 new 的使用1.5 new与make的区别2. Map2.1 什么是Mapkey,value存储hash冲突hash冲突的常见解决方法开放定址(线...
通过go语言实现http请求http.Postimport ( "net/http" "net/url")data := url.Values{"start":{"100"}, "hobby":{"xxxx"}}body := strings.NewReader(data.Enc...
目录1. Go断言的使用2. 闭包的解读2.1 指针传递2.2 延迟绑定2.3 Go Routine的延迟绑定1. Go断言的使用Go中的断言用于判断变量的类型,其使用形式如下所示:value, ok := x.(T)...
目录本文大纲1、字符串StringString常用操作:获取长度和遍历字符串的strings包字符串的strconv包:2、切片Slice3、集合Map本文大纲本文继续学习GO语言基础知识点。1、字符串St...
目录⛳️ 实战场景Print 系列函数Fprint 函数Sprint 函数Errorf 函数⛳️ 格式化占位符通用部分整型相关浮点数与复数布尔型和指针⛳️ 标准输入fmt.Scanfmt.Scanffmt.ScanlnFscan...
目录引言Mutex结构饥饿模式和正常模式正常模式饥饿模式状态的切换加锁和解锁加锁自旋计算锁的新状态更新锁状态解锁可能遇到的问题锁拷贝panic导致没有unlock引言Golang的并...
目录gRPC 的特点使用 gRPC 定义服务端使用 gRPC 的客户端gRPC 是通信协议基于 HTTP/2,支持多语言的 RPC 框架,使用 Protobuf 作为它的接口设计语言(IDL),可以通过 protoc 工具生...
目录安装简介快速使用支持的日志级别日期打印调用位置添加字段给字段值加引号设置钩子设置channel输出日志安装简介Logrus是Go的结构化日志记录器,与标准的日志记录器库完全A...
目录前言函数内联概述函数内联底层实现visitBottomUpcaninlinlcalls前言在前一篇文章中分享了编译器优化的变量捕获部分,本文分享编译器优化的另一个内容—函数内联。函...
目录JWTHeaderPayloadSignatureJWT的优势JWT的使用场景CasbinCasbin可以做什么Casbin不可以做什么Casbin的工作原理实践登录接口请求Token实现使用Redis存储Token信息用Casb...
目录前言Antlr升级 xjson总结前言在上一个版本实现的脚本解释器 GScript 中实现了基本的四则运算以及 AST 的生成。当我准备再新增一个 % 取模的运算符时,会发现工作很繁琐而...
目录1. 快速使用2. Get() 返回的 Result 结构体3. 键路径4. json 数组遍历5. 其他前言:JSON 解析是我们不可避免的常见问题,在 Go 语言中,我们可以借助 gjson 库来方便的进行 j...
目录0.回顾流程1.项目基础配置2. Redis封装3.消息体封装4.核心代码5.本地测试这些天在学习Go,也写了几篇关于阅读Gin后端项目代码的博客。但编程这种,一定要实际上手练习,要不...
目录⛳️ 实战场景打开关闭文件读取文件bufio 读取文件写文件⛳️ 实战场景本篇博客为大家再次带来 Go 语言的基础知识,这次要学习的内容是 Go 中的文件操作。打开关闭文件在 Go...
目录前言变量捕获概述变量捕获底层实现总结前言在前边的几篇文章中已经基本分享完了编译器前端的一些工作,后边的几篇主要是关于编译器对抽象语法树进行分析和重构,然后完成一...
一般情况下,在 golang 中执行一些命令如 git clone,则可以使用 exec.Command 函数func RunCommand(path, name string, arg ...string) (msg string, err error) { cmd :=...
目录1. goland配置Dockerfile2. goland构建项目3. Dockerfile执行总结1. goland配置Dockerfile项目中新建Dockerfile文件配置Dockerfile在项目中新建Dockerfile 文件,内容如...
主要是引入 "encoding/json" 包;用到的也就是其中的两个函数json.Marshal和json.Unmarshal。1、json.Marshal#函数定义位于GOROOT or GOPATH的/src/encoding/json/encode.go...
目录分数到小数方法一:模拟竖式计算(Java)方法一:模拟竖式计算(Go)总结分数到小数给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以 字符串形式返回小数 。如果小...
目录获取值路径解析JSON 行Result Type64-bit integers读取嵌套数组对象或数组迭代简易的Parse和Get检查value是否存在验证JSON反序列化到map一次获取多个值项目地址:https:/...
目录包"math/rand"随机数种子随机函数rand.Int()rand.Intn(n)实例其他随机函数按类型随机类指定随机范围类伪随机排列的切片生成标准正态分布生成标准指数分布包"math/rand"...
目录概述select实现原理执行流程case数据结构执行select循环总结概述在go语言中,select语句就是用来监听和channel有关的IO操作,当IO操作发生时,触发相应的case操作,有了select...
目录一、Go-Excelize简介二、 SetSheetViewOptions一、Go-Excelize简介Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。...
目录 cron 简介gron定时参数源码解析CronEntry按照时间排序新增定时任务启动和停止Schedule扩展性经典写法-控制退出结语 cron 简介在 Unix-like 操作系统中,有一个大家都很...