Golang切片Slice功能操作详情
目录 一、概述 二、切片 2.1 切片的定义 2.2 切片的长度和容量 2.3 切片表达式 简单切片表达式 完整切片表达式 2.4 使用make()函数构造切片 2.5 for range循环迭代切片 2.6 切片的本质 2.7 判断切片是否为空 三、切片功能操作 3.1 切片不 »
目录 一、概述 二、切片 2.1 切片的定义 2.2 切片的长度和容量 2.3 切片表达式 简单切片表达式 完整切片表达式 2.4 使用make()函数构造切片 2.5 for range循环迭代切片 2.6 切片的本质 2.7 判断切片是否为空 三、切片功能操作 3.1 切片不 »
今天小编给大家分享一下golang中判断请求是http还是https的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。 golang中判断请求是http还是 »
目录 前言 1. 读取整个文件到内存中 2. 读取特定字节数据到内存中 3. 按行读取文件到内存中 前言 在 Go 中,os 库的 ReadFile() 方法经常用作读文件,相比其他这个方法很方便,无需关心 close 文件等一些工作。 下面列出三种常见的读文件场景: 1. 读取 »
目录 业务场景 什么是分布式读写锁 分布式读写锁的访问原则 读锁 写锁 具体实现 通过 gorm 连接 mysql 实现读锁模式 实现写锁模式 总结 业务场景 因为项目刚上线,目前暂不打算引入其他中间件,所以打算通过 mysql 来实现分布式读写锁;而该业务场景也满足分布式读写锁 »
目录 1.问题 2.io/ioutil 3.递归获取 4.包含符号链接的情况 5.同时返回目录的路径 6.go-huge-util 参考文献 总结 1.问题 如果我想获取一个目录下的所有文件列表,使用 Golang 该如何实现呢? 比如有个目录 dir 结构如下: tree dirdi »
目录 写在前面 上代码 分析原因 总结 写在前面 周日下午在家学习,看到一个关于切片的问题,在网上找了一些资料,做个总结。 上代码 func main() { sl := make([]int, 0, 10) var appenFunc = func(s []int) { »
目录 1 Go数组 2 切片的数据结构 3 创建切片 3.1 方法一:make 3.2 方法二:字面量 4 nil和空切片 5 切片扩容 5.1 扩容策略 5.2 底层数组是不是新地址 range遍历数组或者切片需要注意 1 Go数组 Go数组是值类型,数组定义的时候就需要指定 »
目录 写在前面 空指针会被解析成字符串"null" int类型会被解析成float64 写在前面 在写go的时候经常用到序列化、反序列化,记录一下遇到过的坑。 空指针会被解析成字符串"null" type Person struct { Name string Age in »
目录 urfave/cli spf13/cobra 在日常开发中,大家对命令行工具(CLI)想必特别熟悉了,如果说你不知道命令工具,那你可能是个假开发。每天都会使用大量的命令行工具,例如最常用的Git、Go、Docker等。 不管是做技术开发还是业务开发,都会有开发命令行程序的场景。例如如果 »
秒杀和高并发是面试的高频考点,也是我们做电商项目必知必会的场景。欢迎大家参与我们的开源项目,提交PR,提高竞争力。早日上岸,升职加薪。 ... »
目录 互斥锁 sync.Mutex 读写锁 sync.RWMutex 如果程序用到的数据是多个groutine之间的交互过程中产生的,那么使用上文提到的channel就可以解决了。 如果我们的使用多个groutine访问和修改同一个数据,就需要考虑在并发环境下数据一致性的问题,即线程安全 »
golang使用JWX进行认证和加密 最近看了一个名为go-auth的库,它将JWT作为HTTP cookie对用户进行验证,但这个例子中缺少了对JWT的保护,由此进行了一些针对JWX的研究。 下面描述来自golang-jwt的官方描述: 概述 JWT是一个签名的JSON对象,通常用作Oauth2的 »
目录 1.mysql-通过sql建立连接池 2.mysql-gorm 建立连接池 3.连接池相较于单个client 4.通用连接池 参考 1.mysql-通过sql建立连接池 连接池用sql.Open函数创建连接池,可是此时只是初始化了连接池,并没有创建任何连接。连接创建都是惰性的,只有当 »
目录 背景 普通用法(一次性获取所有输出) 实时显示 可关闭+实时输出 执行Python脚本(阻塞) 其他 仍有缺陷 windows输出乱码问题 最后给一个解决windows乱码的完整案例 概述 一般命令 连接 执行,命令获取结果 交互式命令 背景 是这样的,最近在研究一个定时任务 »
目录 前言 前置知识 生成随机数 生成随机字符串 加密和解密 加密 解密 总结 前言 安全总是相对的,对于敏感数据最好要有一定保护措施,尤其是在线数据,通过加密可转换信息为编码,从而防止非法获取。对开发者来说,加密本质是保护应用程序数据,假设我们以明文存储用户密码,可能会导致信息 »
1、网络基础 基本TCP客户-服务器程序Socket编程流程如如下图所示。 TCP服务器绑定到特定端口并阻塞监听客户端端连接, TCP客户端则通过IP+端口向服务器发起请求,客户-服务器建立连接之后就能开始进行数据传输。 Golang的TCP编程也是基于上述流程的。 2、Golang HTTP编程 ... »
目录 正文 一,正常情况下 二, goroutine中panic 三,间接调用recover 四,nil panic 五,总结 正文 众所周知golang 中recover函数可以捕捉panic,防止在出现异常的情况下服务整个不可用。然而某些情况下recover也无法catch pa »
golang拾遗主要是用来记录一些遗忘了的、平时从没注意过的golang相关知识。 很久没更新了,我们先以一个谜题开头练练手: package main import ( "encoding/json" "fmt" "time" ) type My »
目录 golang的单引号转义 go语言中的单引号、双引号和反引号 1.单引号 2.双引号 3.反引号 总结 golang的单引号转义 如题,golang中有时候需要将一个字符串中的单引号再转义一次,比如在两个单引号之间包含一个含有单引号的字符串的情形。 但是这个转义却不像C语言里 »
这是golang拾遗系列的第六篇。这个系列主要用来记录一些平时不常见的知识点,偶尔也会实现些有意思的小功能,比如这篇。 golang拾遗系列目录: golang拾遗:指针和接口 golang拾遗:为什么我们需要泛型 golang拾遗:嵌入类型 golang拾遗:内置函数len的小知识 golang拾 ... »