240 发简信
IP属地:山西
  • golang中map与并发

    map与并发 我们都知道golang最大的优势在于对并发场景的处理,那么map遇到并发场景会出现什么情况呢?我们先看一个例子 上面的例子中,我们创建了20个goroutine...

  • golang互斥锁 sync.Mutex

    golang互斥锁 sync.Mutex 先看一段代码 我们执行几次看到其实返回的x值是不固定的,因为,两个goroutine并行执行,都会对x的值做出读写操作,导致了换乱。...

  • golang 读写锁 sync.RWMutex

    golang 读写锁 sync.RWMutex 之前的博客讲了使用互斥锁 sync.Mutex 来保证同一个时刻只有一个goroutine可以访问临界区(内部有共享变量)。当...

  • golang select

    golang select 先看一个例子: select语句和switch语句类似,select语句是用来处理异步IO操作,select中case语句必须有channel的发...

  • golang 无缓存channel和有缓存channel

    golang 无缓存channel和有缓存channel 无缓存通道 发送/存入ch <- 1 // 存入一个int类型的值 接收/取出x := <-ch // 取出ch...

  • golang中的channel

    channel通道 golang的并发模型是序列通信处理CSP(communicating sequential process)——使用通信来共享内存 ,避免gorouti...

  • Go 空结构体 struct{} 的使用

    Go 空结构体 struct{} 的使用 struct是Go中的关键字,用于定义结构类型。例如: struct {} struct {}是一个无元素的结构体类型,通常在没有信...

  • 120
    golang的GMP调度

    Golang 调度器四个重要结构 :M P G Sched GMP的结构源码在文件中\src\runtime\runtime2.go 简介 G:goroutine,go程序建...

  • 又准确又详细:go源代码目录结构

    根目录 |– AUTHORS — 文件,官方 Go语言作者列表 |– CONTRIBUTORS — 文件,第三方贡献者列表 |– LICENSE — 文件,Go语言发布授权协...

  • 洗牌算法的golang实现,顺便学习几个知识点

    洗牌算法 洗牌我们首先想到的是使用随机数,每次获取一个1-54范围的随机数,直到所有的编号都被分配到,但是这有一个问题,就是随机数的产生可能有大量的重复,或者极端一点,某一个...

  • golang中的闭包

    go语言中函数可以作为返回值,可以作为参数,可以作为右值绑定到变量,golan把这些返回值,参数,或变量称为function value,函数指令在编译期间生成,而funct...

  • golang中自定义包

    导出 golang中默认以文件夹名作为包名,导入的文件的路径为$GOPATH/src 例如我们在 $GOPATH/src下面建立一个gopackage的一个文件夹,下面建立一...

  • golang中slice作为参数会怎么样

    golang参数传递其实只有一种就是值拷贝,那么slice作为参数传递的时候有什么特别的地方吗? 修改值 我们先看一个小示例 它输出会是什么样的呢? 可以看到 我们通过sli...

  • golang中的switch

    Go 编程语言中 switch 语句的语法如下: switch 语句执行的过程从上至下,直到找到匹配项。与C++中不同的是:switch 默认情况下 case 最后自带 br...

  • golang中的数组和slice

    数组是一个顺序存储的定长序列,可通过序号直接访问,但是长度固定,不灵活 数组 声明&定义 默认情况下,数组中的元素会被初始化为相应元素的0值,如int类型中初始化为0,boo...

  • 2020 reading challenge(我坑我自己)

    又到一年一度的年度总结时段,回顾即将过去的2019年的阅读成绩: 一、薄荷阅读: (一)49期阿加莎系列: 1、And Then There Were None 2、Murd...