golang sync.Map实现原理

sync.Map 的实现原理可概括为: 通过 read 和 dirty 两个字段将读写分离,读的数据存在只读字段 read 上,将最新写入的数据则存在 dirty 字段上 读取时会 […]...

golang channel操作情况

channel是golang一种重要的数据结构,使用channel的方式不正确可能会发生panic。发生 panic 的情况有三种:向一个关闭的 channel 进行写操作;关闭一 […]...

golang map扩容

golang map 操作,是map 实现中较复杂的逻辑。因为当赋值时,为了减少hash 冲突链的长度过长问题,会做map 的扩容以及数据的迁移。 map的数据结构 go语言中的m […]...

golang中切边和数组

golang中数组array是具有相同唯一类型 的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形、字符串或者自定义类型,切片slice其实是数组array的 […]...

golang 变长参数

在golang开发中,按照参数的传递方式有两种值传递和引用传递,按照参数的个数有定长参数和变长参数,掌握参数的不同类型在开发过程中有很大的作用。 参数 按值传递 Go 语言默认使用 […]...

golang 快速排序

快速排序是由东尼·霍尔所发展的一种排序算法.在平均状况下,排序 n 个项目要 Ο(nlogn) 次比较.在最坏状况下则需要 Ο(n2) 次比较,但这种状况并不常见. 事实上,快速排 […]...

golang sort底层排序

golang里面有一个sort的包,用来给定的数据序列进行排序,那你知道其底层使用是哪种排序算法吗?插入排序,选择排序,快速排序,还是shell排序? 在sort里面最后排序都是使 […]...

golang逗号模式

在golang中有一种逗号模式“,ok”,第一个参数是一个值或者nil,第二个参数是true/false或者一个错误error。在一个需要赋值的if条件语句中,使用这种模式去检测第 […]...

golang内存逃逸

栈是线程级别的,大小在创建的时候已经确定,当变量太大的时候,会"逃逸"到堆上,这种现象称为内存逃逸。 内存逃逸的场景 指针逃逸 Go可以返回局部变量指针,这种情 […]...

如何在 Go 中处理操作系统信号

Go 编程语言不是为像 C 那样的系统级编程而构建的,但是有一些功能可以帮助开发人员在低级别与底层操作系统进行交互,例如使用信号。os/signals包可帮助开发人员使用此功能。事 […]...

Golang 字符串

在 Go 语言中,字符串与Java等其他语言不同。它是一系列可变宽度字符,其中每个字符都使用UTF-8 编码)由一个或多个字节表示。换句话说,字符串是任意字节(包括具有零值的字节) […]...

Golang interface底层数据结构

golang 中interface是必须要掌握的内容的,其底层是eface和iface,了解这两种数据结构才能更好的了解和使用interface,基于go v1.13,struct […]...

golang切片和数组区别

Go 中基本的集合数据结构是通过数组和切片来表示的。尽管它们可能看起来相似,但它们在实现中具有不同的内涵。简而言之,Go 数组不灵活,并不意味着与动态内存分配相关联。另一方面,切片 […]...

Mac、Linux、Windows 下Go交叉编译

Go编程语言附带了一个丰富的工具链,使得获取包和构建可执行文件非常容易。Go最强大的特性之一是能够为任何Go支持的外国平台交叉构建可执行文件。这使得测试和包分发变得更加容易,因为您 […]...

Golang中获取当天0时的时间戳

在golang开发中会遇到要获取当天0时的时间戳的场景,网上很多资料说明的方法都是不正确的,存在着误差,建议在得到指定的时间戳之后需要,反解析处时间格式来检查一下,之所有会有差别主 […]...

golang结构体

Golang中的一个或多个结构是用户定义的类型,允许将可能不同类型的项目分组/组合为单个类型。具有一组属性/字段的任何现实世界实体都可以表示为结构。通常将此概念与面向对象编程中的类 […]...

golang: 写文件

操作系统包的os. openfile()函数可用于以追加模式打开文件,然后写入文件 package main import ( "fmt" "io/i […]...

细说各种开发语言的Heredoc

Heredoc是定义多行字符串,同时保持原始缩进和格式的一种方法。这用于嵌入诸如SQL或HTML之类的代码片段。 PHP Heredoc 人们能够轻松地从PHP内编写大量文本,而又 […]...

golang教程资料汇总

Golang是一种开源编程语言,可轻松构建简单,可靠和高效的软件。golang越来越受欢迎,越来越多的微服务都在使用golang来构建,所以学习golang将会对未来的职业发展有很 […]...
ajax-loader