Golang函数这些神操作你知道哪些
「1. 用type关键字可以定义函数类型,函数类型变量可以作为函数的参数或返回值。」package mainimport "fmt"func add(a, b int) int { return a + b}func sub(a,...
「1. 用type关键字可以定义函数类型,函数类型变量可以作为函数的参数或返回值。」package mainimport "fmt"func add(a, b int) int { return a + b}func sub(a,...
目录背景为什么会出现竞态问题如何解决竞态问题1、使用go的一些并发原语2、加读写锁(RWMutex map)3、分片加锁4、go的原生可并发map性能对比最终结论背景在使用go语言开发的过...
目录字符串简介常用方法中文字符串截取反转字符串字符串大小写操作去除字符串首位空格合并字符串分割字符串字符串简介字符串是一段固定长度字符连接起来的字符序列,GO语言中...
目录GO 语言的 for…range 能做什么呢?for…range 如何使用 ?数组 array切片 slicemap 哈希表channel 通道for…range 的返回值如果不需要,可以如何处理?for...
目录unsafe 包ArbitraryTypePointer指针运算unsafe.Pointer和uintptr的区别unsafe包简单使用总结unsafe 包func Alignof(x ArbitraryType) uintptrfunc Offsetof(x Arbitrar...
开发环境:windows10,golang1.18.2,goland2022.2最近在写项目时,一些数据类的结构以protobuf文件给定。因此,需要将这些protobuf文件转换为golang代码。首先,在下载解析protobuf的...
目录C 程序GO 程序GO 的逃逸是啥样子的?你知道 GO 中什么情况会变量逃逸吗?首先我们先来看看什么是变量逃逸Go 语言将这个以前我们写 C/C++ 时候需要做的内存规划和分配,全部整...
目录一、什么是通道类型二、通道产生的原因三、声明channel四、创建channel五、channel相关操作1、发送值2、接收值3、关闭通道六、通道类型1、无缓冲通道2、有缓冲通道七、...
目录一、背景介绍二、解决方案(1)将Json直接解析为map(2)解析部分json struct的方法 (json.RawMessage的用法)(3) json.Number类型的使用一、背景介绍在go语言开发过程中经...
目录fmt.Printf 或 fmt.Sprintf 写拼装字符串业务简单字符串插值其他语言例子SwiftKotlinCRust争论矛盾点总结fmt.Printf 或 fmt.Sprintf 写拼装字符串业务在日常开发 Go 工...
目录1. Gauge指标类型1.1 不带label的基本例子1.2 带有固定label指标的例子1.3 带有非固定label指标的例子2. Counter指标类型2.1 不带label的基本例子2.2 带有固定label指...
目录golang-gorm自动建表定义结构体定义变化的表名实现interface执行sql判断是否有无GORM概述概述快速入门总结golang-gorm自动建表定义结构体设置主键、自增、和独立索引联...
目录一个数据竞态的case检查数据竞态解决方案1、WaitGroup等待2、Channel阻塞等待3、Channel通道4、互斥锁典型数据竞态1、循环计数上的竞态2、意外共享变量3、无保护的全局...
目录为什么需要优雅关闭监控服务退出信号拒绝新请求执行关闭之前的回调等待处理中的请求执行完毕实战支持强制退出为什么需要优雅关闭什么叫优雅关闭?先说不优雅关闭,就是什么...
目录价值实例1(net/http)实例2(tutu)总结在net/http包中,有一个接口型函数的实现:type Handler interface { ServeHTTP(ResponseWriter, *Request)}// The HandlerFunc...
目录解决golang编译提示dial tcp 172.217.160.113:443: connectex: A connection attempt failed直接在命令行执行补充:golang下载包的时候出现 dial tcp 142.251.43.17:443:...
目录前言开始flag.Stringflag.Intflag.StringVarflag.IntVar定义命令行参数实现 -f -v 是否强制拷贝copyFileAction 实现copyFile效果图完整代码前言一次偶然的想法,想知道为...
目录1. viper的介绍2. viper的使用2.1 Viper对象的创建2.2 预设一些默认配置2.3 从命令行工具的选项参数Flags读取2.4 从环境变量读取2.5 从配置文件读取2.6 从远程key/val...
目录一、概述二、快速开始1. 准备工作2. 安装asynq软件包3. 创建项目asynq_task4. Task任务5. 编写程序6. 运行查看结果三、细节1. 关于asynq的优雅退出2. client中 client....
目录前言作用使用场景实现集合类型实现空通道实现方法接收者总结前言通过这篇文章《浅谈Go结构体的基本使用》,我们初步认识了空结构体,使用unsafe.SizeOf()方法,明确知道了空...
目录踩坑点互斥锁 Mutex读写锁 RWMutex谨防锁拷贝查看数据竞争总结golang中的锁分为互斥锁、读写锁、原子锁即原子操作。在 Golang 里有专门的方法来实现锁,就是 sync 包,这个...
目录一. 布隆过滤器简介二. 常用场景三. go-zero的布隆过滤器实现1. 简介2. 布隆过滤器结构体3. 初始化方法4. newRedisBitSet方法5. 数据添加--Add6. 数据添加--set7. 数据...
目录1.BSON介绍2.过滤查询2.1go查询2.2bucket命令3.聚合查询3.1mongo命令使用3.2go 聚合查询mongodb的环境搭建参考前面一篇通过mongo-driver使用说明 GO 包管理机制1.BSON...
目录GO 中 defer的实现原理defer 是什么defer 实现原理GO 中 defer 的规则第一点咱们来写个小DEMO第三点也来一个DEMO总结GO 中 defer的实现原理我们来回顾一下上次的分享,分...
1.空接口既然可以存储任意类型的值,那么从空接口获取到的值是否可以直接使用?看下面栗子package mainimport ( "fmt")var a interface{}var b interface{}func main()...